1 Fri Feb 8 19:56:54 2013 NAKAMURA Usaku <usa@ruby-lang.org>
3 * array.c (rb_ary_dup): reverted r39004. see [Bug #7768], and
4 release manager finally decided to revert it.
6 Fri Feb 8 16:09:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
8 * eval.c (rb_ensure): preserve errinfo across ensure proc before
9 JUMP_TAG(). [ruby-core:52022] [Bug #7802]
11 Fri Feb 8 16:08:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
13 * test/ruby/envutil.rb (assert_separately): check also terminating
14 signal not only if core dumped.
16 Fri Feb 8 13:12:04 2013 Eric Hodel <drbrain@segment7.net>
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.
22 * lib/rdoc.rb: Bump version
24 Fri Feb 8 11:53:33 2013 Eric Hodel <drbrain@segment7.net>
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.
30 Fri Feb 8 10:44:44 2013 Eric Hodel <drbrain@segment7.net>
32 * test/rubygems/test_gem_dependency_installer.rb: Improve coverage of
33 --install-dir feature of gem install.
35 Fri Feb 8 10:11:09 2013 Eric Hodel <drbrain@segment7.net>
37 * lib/rubygems/config_file.rb: Add missing require for
40 * lib/rubygems/dependency_installer.rb: Minor refactor for clarity.
42 Fri Feb 8 09:35:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
44 * lib/mkmf.rb (MakeMakefile#configuration): set all ruby names.
45 hdrdir now needs RUBY_VERSION_NAME.
47 Fri Feb 8 08:58:26 2013 Eric Hodel <drbrain@segment7.net>
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
53 Fri Feb 8 08:53:27 2013 Aaron Patterson <aaron@tenderlovemaking.com>
55 * ext/psych/lib/psych/visitors/yaml_tree.rb: fixing string quotation
56 when dumping Ruby strings. Thanks Ingy
58 * test/psych/test_psych.rb: appropriate tests.
60 * test/psych/test_yaml.rb: ditto
62 Fri Feb 8 08:50:42 2013 Aaron Patterson <aaron@tenderlovemaking.com>
64 * ext/psych/lib/psych/visitors/yaml_tree.rb: change output reference
65 ids to be sequential numbers.
67 Fri Feb 8 07:47:56 2013 Eric Hodel <drbrain@segment7.net>
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.
73 Fri Feb 8 07:34:00 2013 Zachary Scott <zachary@zacharyscott.net>
75 * lib/net/http.rb (HTTP.post_form): Fix module scope in documentation
76 Patch by David Albert [Bug #7794] [ruby-core:51955]
78 Fri Feb 8 07:33:00 2013 Zachary Scott <zachary@zacharyscott.net>
80 * compar.c (cmp_equal): Document ignored exception and return false
81 By Makoto Kishimoto [Bug #7790] [ruby-dev:46925] [ruby-dev:46910]
83 Fri Feb 8 07:17:00 2013 Eric Hodel <drbrain@segment7.net>
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.
89 Fri Feb 8 00:02:48 2013 Tanaka Akira <akr@fsij.org>
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.
100 Thu Feb 7 22:01:18 2013 Tanaka Akira <akr@fsij.org>
102 * configure.in: define linker for shared library on MirOS BSD.
104 Thu Feb 7 21:09:23 2013 NAKAMURA Usaku <usa@ruby-lang.org>
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.
110 Thu Feb 7 20:52:40 2013 NAKAMURA Usaku <usa@ruby-lang.org>
112 * win32/Makefile.sub (config.status): added variables which were
115 Thu Feb 7 15:33:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
121 Thu Feb 7 14:56:15 2013 Eric Hodel <drbrain@segment7.net>
123 * lib/rubygems/package.rb: Ensure digests are generated for signing.
124 * test/rubygems/test_gem_package.rb: Test for the above.
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.
130 * lib/rubygems.rb: Documentation improvements (by zzak)
132 Thu Feb 7 05:52:00 2013 Zachary Scott <zachary@zacharyscott.net>
134 * doc/pty/README: Remove static documentation file
135 * ext/pty/pty.c: Add License to PTY module overview
137 Thu Feb 7 02:31:10 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
139 * vm_insnhelper.c: attr_writer should return its argument [Bug #7773]
141 * test/ruby/test_basicinstructions.rb: Test for above
143 Thu Feb 7 01:35:00 2013 Zachary Scott <zachary@zacharyscott.net>
145 * doc/security.rdoc: Link to japanese version of CVE page patch by
148 Wed Feb 6 23:30:00 2013 Zachary Scott <zachary@zacharyscott.net>
150 * doc/pty/README.expect: Removed static documentation file
151 * ext/pty/lib/expect.rb: Documentation for IO#expect
153 Wed Feb 6 22:25:00 2013 Charlie Somerville <charlie@charliesomerville.com>
155 * hash.c (env_reject_bang): hide keys array from ObjectSpace
156 * hash.c (env_select_bang): ditto
158 Wed Feb 6 17:33:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
160 * configure.in (multiarch): add option to move architecture dependent
161 directories. [Feature #6111]
163 * template/ruby.pc.in: add arch dependent paths.
165 * configure.in (rubyarchhdrdir, sitearchhdrdir, vendorarchhdrdir): add
166 options to customize architecture dependent header directories.
168 * configure.in (rubyarchprefix, sitearchdir, vendorarchdir): add
169 options to customize architecture dependent library directories.
171 * template/ruby.pc.in, tool/mkconfig.rb, tool/rbinstall.rb: use
174 * tool/mkconfig.rb: expand rubyarchdir to extract prefix.
176 * configure.in (RUBY_VERSION_NAME), template/ruby.pc.in: add
177 substitution and define.
179 * configure.in, version.c: parametric architecture name for paths.
181 * configure.in (shvar_to_cpp): convert sh variable references
182 by replacing with string literal forms in cpp.
184 Wed Feb 6 17:05:26 2013 Eric Hodel <drbrain@segment7.net>
186 * lib/rdoc: Import RDoc 4.0.0.rc.2
188 Mon Feb 4 02:22:49 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
190 * test/ruby/test_process.rb (test_setsid): ensure to call
191 Process.wait(). Reported by George Koehler. Thanks.
193 Mon Feb 4 02:18:00 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
195 * test/ruby/test_process.rb (test_setsid): skip when platform is
196 OpenBSD. Contributed from George Koehler.
197 [Bug #7789] [ruby-core:51889]
199 Wed Feb 6 13:35:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
201 * proc.c (rb_method_entry_location, rb_{mod,obj}_method_location): new
202 functions to obtain source location of method definition.
204 * vm_method.c (rb_obj_respond_to): show the location of old style
207 Wed Feb 6 13:03:00 2013 Zachary Scott <zachary@zacharyscott.net>
209 * doc/security.rdoc: Add link to CVEs on ruby-lang.org/en/security
211 Wed Feb 6 12:49:00 2013 Zachary Scott <zachary@zacharyscott.net>
213 * NEWS: Add note about removal of CSV::load and CSV::dump from r39077
215 Wed Feb 6 05:57:00 2013 Zachary Scott <zachary@zacharyscott.net>
217 * lib/racc/parser.rb: Hide copyright notice from Racc doc
219 Wed Feb 6 05:50:00 2013 Zachary Scott <zachary@zacharyscott.net>
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
227 Wed Feb 6 03:45:19 2013 Zachary Scott <zachary@zacharyscott.net>
229 * doc/security.rdoc: Remove documentation for unsafe CSV.load which
230 was deleted in r39077
232 Wed Feb 6 03:27:19 2013 James Edward Gray II <james@graysoftinc.com>
234 * lib/csv.rb: Remove the dangerous serialization feature.
236 Wed Feb 6 00:56:00 2013 Zachary Scott <zachary@zacharyscott.net>
238 * lib/irb.rb: Remove example from restrictions, it works [Github #246]
239 Based on patch by Ryunosuke SATO
241 Wed Feb 6 00:46:53 2013 Kazuki Tsujimoto <kazuki@callcc.net>
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]
248 * test/ruby/test_settracefunc.rb: add a test.
250 Tue Feb 5 18:48:00 2013 Charlie Somerville <charlie@charliesomerville.com>
252 * doc/security.rdoc: add regex, eval and drb sections
254 Tue Feb 5 17:24:02 2013 Eric Hodel <drbrain@segment7.net>
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.
260 Tue Feb 5 16:37:00 2013 Eric Hodel <drbrain@segment7.net>
262 * lib/rubygems/config_file.rb: Ignore permissions check on windows.
263 Windows writes 0600 file as 0644 permissions making the check
266 Tue Feb 5 16:25:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
271 Tue Feb 05 15:04:34 2013 Koichi Sasada <ko1@atdot.net>
273 * proc.c (rb_binding_new_with_cfp): permit to create binding object
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]
285 * test/ruby/test_settracefunc.rb: add a test.
287 * vm.c (rb_vm_get_binding_creatable_next_cfp), vm_core.h: added.
289 * vm_trace.c: fix to use `rb_vm_get_binding_creatable_next_cfp()'.
291 Tue Feb 5 14:43:15 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
293 * lib/matrix.rb: Fix error message, patch by pypypy [Bug #7777]
295 Tue Feb 5 14:36:04 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
297 * numeric.c (fix_pow): Handle special cases when base is 0, -1 or +1
298 [Bug #5713] [Bug #5715]
300 * rational.c (nurat_expt): ditto
302 Tue Feb 5 13:27:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
304 * ext/io/console/console.c (rawmode_opt): use default values by `stty
307 Tue Feb 5 12:50:47 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
309 * range.c: Use div instead of / for bsearch
311 * test/ruby/test_range.rb: Test showing bug when requiring mathn
313 Tue Feb 5 12:48:38 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
315 * enumerator.c: Use to_enum for Enumerable methods returning
317 This makes Lazy#cycle no longer needed, so it was removed.
318 Make Enumerator#chunk and slice_before return lazy Enumerators.
321 * internal.h: Remove ref to rb_enum_cycle_size; no longer needed
323 * enum.c: Make enum_cycle_size static.
325 * test/ruby/test_lazy_enumerator.rb: Test for above
327 Tue Feb 5 12:48:10 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
329 * enumerator.c: Finalize and document Lazy.new. [Bug #7248]
330 Add Lazy#to_enum and simplify Lazy#size.
332 * test/ruby/test_lazy_enumerator.rb: tests for above
334 Tue Feb 5 11:35:35 2013 Eric Hodel <drbrain@segment7.net>
336 * lib/rubygems/commands/push_command.rb: Fixed credential download for
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.
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.
346 * lib/rubygems/ext/builder.rb: Do not look for Gemfile, Isolate, etc.
347 while building gem extensions.
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.
353 * lib/rubygems/specification.rb: Reduce use of eval.
354 * lib/rubygems/test_case.rb: ditto.
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.
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.
364 Tue Feb 5 10:15:00 2013 Zachary Scott <zachary@zacharyscott.net>
366 * doc/security.rdoc: Wrap security guide at 80 columns
368 Tue Feb 5 10:15:00 2013 Zachary Scott <zachary@zacharyscott.net>
370 * doc/security.rdoc: Grammatical error on security guide
371 Patch by Josh Bassett [Github fixes #245]
373 Tue Feb 5 10:00:00 2013 Zachary Scott <zachary@zacharyscott.net>
375 * lib/racc/parser.rb: Update #do_parse and #yyparse from upstream
376 See [Github tenderlove/racc@7d954b5]
378 Tue Feb 5 09:55:00 2013 Zachary Scott <zachary@zacharyscott.net>
380 * lib/racc: Merge Racc documentation downstream, add grammar ref file
382 Tue Feb 5 08:03:00 2013 Zachary Scott <zachary@zacharyscott.net>
384 * lib/irb.rb, lib/irb/ext/save-history.rb: Add documentation on how to
385 enabled irb history [ruby-core:51347] [Bug #7679]
387 Tue Feb 5 07:35:00 2013 Zachary Scott <zachary@zacharyscott.net>
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]
393 Tue Feb 5 05:20:00 2013 Zachary Scott <zachary@zacharyscott.net>
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
399 Tue Feb 5 04:40:00 2013 Zachary Scott <zachary@zacharyscott.net>
401 * ext/json/lib/json.rb: Move module overview definition for rdoc
403 Tue Feb 5 03:00:00 2013 Zachary Scott <zachary@zacharyscott.net>
405 * lib/tracer.rb: Move class overview definition and reformat
407 Mon Feb 4 15:10:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
409 * ext/io/console/console.c (rawmode_opt): initialize options for the
410 case all options are not given.
412 Mon Feb 4 12:44:13 2013 Koichi Sasada <ko1@atdot.net>
414 * vm_dump.c (control_frame_dump): capitalize prefix of `ep'
415 if `ep' points an env object.
417 Mon Feb 4 04:20:00 2013 Zachary Scott <zachary@zacharyscott.net>
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.
423 Mon Feb 4 02:40:00 2013 Zachary Scott <zachary@zacharyscott.net>
425 * lib/yaml.rb (YAML::EngineManager): Documentation for #yamler and
426 #yamler= for using the removed Syck gem as the YAML::ENGINE
428 Sun Feb 3 16:54:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
430 * ext/io/console/io-console.gemspec: bump. [Bug #7762]
432 * test/io/console/test_io_console.rb (test_stringio_getch): use more
433 descriptive assertions.
435 * ext/io/console/console.c (rawmode_opt): min is minimum characters,
438 Sun Feb 3 16:13:00 2013 Charlie Somerville <charlie@charliesomerville.com>
440 * doc/security.rdoc: add first cut at a Ruby security document
442 Sun Feb 3 10:25:00 2013 Zachary Scott <zachary@zacharyscott.net>
444 * random.c: Document range argument for Kernel#rand.
445 [ruby-core:51794] [Bug #7770]
447 Sun Feb 3 10:00:00 2013 Zachary Scott <zachary@zacharyscott.net>
449 * numeric.c: Document Float constants [ruby-core:51484] [Bug #7709]
451 Sun Feb 3 09:38:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
453 * lib/profiler.rb (PROFILE_CALL_PROC, PROFILE_RETURN_PROC): add b_call
454 and b_return to profile block calls.
456 * lib/profiler.rb (PROFILE_CALL_PROC, PROFILE_RETURN_PROC): split
457 PROFILE_PROC for call and return events.
459 Sat Feb 2 14:32:00 2013 Zachary Scott <zachary@zacharyscott.net>
461 * lib/minitest/mock.rb, lib/minitest/hell.rb: nodoc top-level module
463 Sat Feb 2 14:05:00 2013 Zachary Scott <zachary@zacharyscott.net>
465 * lib/debug.rb: Documentation for DEBUGGER__ class methods based on
466 patch by Vincent Batts [ruby-core:51253]
468 Sat Feb 2 13:37:00 2013 Zachary Scott <zachary@zacharyscott.net>
470 * lib/net/smtp.rb: Fix rdoc title for Net::SMTP
472 Sat Feb 2 13:32:00 2013 Zachary Scott <zachary@zacharyscott.net>
474 * lib/net/pop.rb: Fix rdoc title for Net::POP3
476 Sat Feb 2 13:00:11 2013 Yusuke Endoh <mame@tsg.ne.jp>
478 * lib/gserver.rb (GServer#start): fix a timing issue. patch from
479 Charles Nutter. [Bug #7081]
481 Sat Feb 2 12:36:54 2013 Yusuke Endoh <mame@tsg.ne.jp>
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]
487 * test/fileutils/test_fileutils.rb: add a test for above.
489 Sat Feb 2 12:30:00 2013 Zachary Scott <zachary@zacharyscott.net>
491 * lib/uri/ftp.rb (URI::FTP.new2): nodoc method from r39013 [Bug #7301]
493 Sat Feb 2 12:15:36 2013 Yusuke Endoh <mame@tsg.ne.jp>
495 * lib/uri/ftp.rb (URI::FTP.new2): remove the rdoc because it is not
496 well tested yet. [Bug #7301]
498 Sat Feb 2 12:07:41 2013 Yusuke Endoh <mame@tsg.ne.jp>
500 * ChangeLog: Forgot to add a reference to the ChangeLog of the
503 Sat Feb 2 12:05:18 2013 Yusuke Endoh <mame@tsg.ne.jp>
505 * lib/fileutils.rb: chmod/chmod_R with a string mode (e.g., "+x")
506 caused error in verbose mode. [Bug #7373]
508 * test/fileutils/test_fileutils.rb: add a test for above.
510 Sat Feb 2 11:44:42 2013 Yusuke Endoh <mame@tsg.ne.jp>
512 * lib/English.rb: Remove some confusing words from rdoc. [Bug #7406]
514 Sat Feb 2 10:17:12 2013 Kazuki Tsujimoto <kazuki@callcc.net>
516 * NEWS: add keyword arguments.
518 Sat Feb 2 07:45:44 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
520 * proc.c (proc_curry): Fix arity check [Bug #5747]
522 * test/ruby/test_proc.rb: Test for above
524 Sat Feb 2 07:44:15 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
526 * proc.c: Add {*}_min_max_arity and refactor.
529 * test/ruby/test_proc.rb: Fix wrong test
531 Fri Feb 2 00:46:00 2013 Charlie Somerville <charlie@charliesomerville.com>
533 * marshal.c: add security considerations to marshal overview, refer to
534 overview from Marshal.load documentation [#7759]
536 Fri Feb 1 23:04:00 2013 Charlie Somerville <charlie@charliesomerville.com>
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
542 Fri Feb 1 16:35:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
544 * marshal.c (r_object0): prohibit setting instance variables of
545 existing class/module.
547 Fri Feb 1 14:34:29 2013 Shugo Maeda <shugo@ruby-lang.org>
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]
553 Thu Jan 31 21:55:00 2013 Charlie Somerville <charlie@charliesomerville.com>
555 * marshal.c (marshal_load): Add documentation warning against using
556 Marshal.load on untrusted data [Bug #7759] [ruby-core:51765]
558 Thu Jan 31 16:33:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
560 * parse.y (local_push_gen): no assigned but unused variable warnings
561 in eval as well as -e. [Feature #7730] [ruby-core:51580]
563 Wed Jan 30 12:30:08 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
565 * test/ruby/test_signal.rb (test_trap_puts): Fix typo. "sync"
566 should be "STDOUT.sync".
568 Thu Jan 31 15:39:00 2013 Zachary Scott <zachary@zacharyscott.net>
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
574 Thu Jan 31 13:54:44 2013 Shugo Maeda <shugo@ruby-lang.org>
576 * ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): return
577 sizeof(sa_family_t) if path is empty. see "Autobind Feature" in
580 * ext/socket/lib/socket.rb (unix_socket_abstract_name?): treat an
581 empty path as an abstract name.
583 * test/socket/test_unix.rb: related test.
585 Wed Jan 30 20:58:50 2013 Tanaka Akira <akr@fsij.org>
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.
593 * ext/socket/unixsocket.c (unix_path): ditto.
595 (unix_peeraddr): ditto.
597 * ext/socket/init.c (cloexec_accept): ditto.
599 Wed Jan 30 17:08:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
601 * include/ruby/win32.h (fstat): revert r37337, which uses _fstati64()
602 instead of fstati64() on mingw32. [Bug #7276]
604 Wed Jan 30 15:26:37 2013 Shugo Maeda <shugo@ruby-lang.org>
606 * ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect()
607 because rb_sys_fail_str() fails if its argument contains NUL.
609 * test/socket/test_unix.rb: related test.
611 Wed Jan 30 15:21:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
613 * vm_dump.c (rb_vm_bugreport): show the most important message, Crash
614 Report log information, first.
616 Wed Jan 30 15:00:05 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
618 * array.c (rb_ary_bsearch): Raise TypeError on bad return from block
620 * range.c (range_bsearch): ditto
622 * test/ruby/test_array.rb (class): Test for above
624 * test/ruby/test_range.rb (class): ditto
626 Wed Jan 30 14:46:28 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
628 * range.c: Restrict bsearch to integers [#7728]
630 * test/ruby/test_range.rb: Test for above
632 Wed Jan 30 14:10:52 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
634 * array.c (rb_ary_bsearch): Return enumerator if no block [#7725]
636 * range.c (range_bsearch): ditto
638 * test/ruby/test_array.rb: Test for above
640 * test/ruby/test_range.rb: ditto
642 Wed Jan 30 13:53:43 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
644 * lib/matrix.rb: Take conjugate for inner product
645 [rubyspec:5a01ad5719f2] [ruby-dev:46101]
647 Wed Jan 30 13:22:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
649 * parse.y (local_push_gen): warn assigned but unused variables also in
650 toplevel, except for -e option. [Feature #7730] [ruby-core:51580]
652 Wed Jan 30 13:17:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
654 * cont.c (cont_restore_thread): svar should be separate per fibers.
655 [ruby-core:51331] [Bug #7678]
657 Wed Jan 30 07:15:04 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
659 * re.c (reg_operand): Simplify and reuse error handling [Bug #7539]
661 * test/ruby/test_regexp.rb: Test for above
663 Wed Jan 30 07:00:16 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
665 * object.c: Improve error for failed implicit conversions [Bug #7539]
667 * error.c: Adapt rdoc
669 * test/ruby/test_object.rb: Test for above
671 Tue Jan 29 21:40:12 2013 Tanaka Akira <akr@fsij.org>
673 * lib/net/http/generic_request.rb (encode_multipart_form_data): remove
676 Tue Jan 29 19:27:18 2013 Benoit Daloze <eregontp@gmail.com>
678 * array.c: Improve documentation about
679 comparison by hash for concerned methods. [ruby-core:51266]
681 Tue Jan 29 17:03:28 2013 Koichi Sasada <ko1@atdot.net>
683 * vm_backtrace.c: fix issue of rb_debug_inspector_open().
684 The order of making binding should be stack (frame) top to bottom.
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).
690 * test/-ext-/debug/test_debug.rb: add a test.
692 * ext/-test-/debug/extconf.rb, init.c, inspector.c: ditto.
694 * vm_backtrace.c: remove magic number and add enum CALLER_BINDING_*.
696 * vm_backtrace.c, include/ruby/debug.h: add new C api (experimental)
697 rb_debug_inspector_frame_self_get().
699 * vm.c, vm_core.h, vm_trace.c: move decl. of
700 rb_vm_control_frame_id_and_class() and constify first parameter.
702 Tue Jan 29 16:50:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
704 * vm_trace.c (rb_tracepoint_enable, rb_tracepoint_disable): check safe
705 level as well as set_trace_func.
707 * vm_trace.c (set_trace_func, thread_{add,set}_trace_func_m): check
708 safe level as well as 1.8.
710 Tue Jan 29 16:49:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
712 * proc.c (rb_mod_method_arity): return original arity of the method if
713 aliased because of visibility change, like as Method#arity.
715 Tue Jan 29 12:05:18 2013 Tanaka Akira <akr@fsij.org>
717 * test/ruby/test_marshal.rb: remove temporally files early.
719 * test/ruby/test_process.rb: ditto.
721 * test/psych/test_exception.rb: ditto.
723 Tue Jan 29 09:26:20 2013 Shugo Maeda <shugo@ruby-lang.org>
725 * ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the
726 correct address length of an abstract socket.
728 * test/socket/test_unix.rb: related test.
730 Mon Jan 28 18:02:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
732 * vm_backtrace.c (rb_debug_inspector_frame_{class,binding,iseq}_get):
733 use long as index as well as RARRAY_LEN().
735 Mon Jan 28 17:51:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
737 * test/ruby/envutil.rb (assert_separately): imply no core dump.
739 Mon Jan 28 12:32:31 2013 Tanaka Akira <akr@fsij.org>
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.
746 Sat Jan 26 22:39:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
748 * marshal.c (w_object): dump instance variables of the result of
749 marshal_dump not the original object. [ruby-core:51163] [Bug #7627]
751 * complex.c (nucomp_marshal_dump): need to copy instance variables.
753 * rational.c (nurat_marshal_dump): ditto.
755 Sat Jan 26 13:35:56 2013 Eric Hodel <drbrain@segment7.net>
757 * ext/fcntl/fcntl.c: Document Fcntl constants
759 Sat Jan 26 12:54:40 2013 Eric Hodel <drbrain@segment7.net>
761 * hash.c (rb_env_size): Restored documentation for ENV.size
763 * lib/drb/drb.rb: Documented DRb::DRb#run.
765 * lib/erb.rb (class ERB): Improved documentation of ERb.
767 * transcode.c: Documented Encoding::Converter constants.
769 Sat Jan 26 10:09:57 2013 Eric Hodel <drbrain@segment7.net>
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.
794 Sat Jan 26 08:29:33 2013 Shugo Maeda <shugo@ruby-lang.org>
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.
800 Sat Jan 26 01:12:23 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
807 Fri Jan 25 19:14:24 2013 Masaki Suketa <masaki.suketa@nifty.ne.jp>
809 * ext/win32ole/win32ole.c: use TlsAlloc instead of __declspec(thread)
810 to avoid SEGV if win32ole.so loaded with LoadLibrary in Windows
813 Fri Jan 25 16:47:31 2013 Shugo Maeda <shugo@ruby-lang.org>
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.
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.
827 * test/socket/test_unix.rb: related test.
829 Fri Jan 25 13:02:27 2013 Eric Hodel <drbrain@segment7.net>
831 * lib/drb/drb.rb: Updated documentation based on patch from Vincent
832 Batts. [ruby-trunk - Bug #7714]
833 * lib/drb/ssl.rb: ditto.
835 Fri Jan 25 12:23:29 2013 Eric Hodel <drbrain@segment7.net>
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.
847 * sample/drb/gw_cu.rb: Fixed bug in DRb gateway sample.
849 Fri Jan 25 12:01:56 2013 Koichi Sasada <ko1@atdot.net>
851 * vm_core.h: modify a comment about rb_iseq_t::local_size.
852 A patch by davidbalbert (David Albert) [Bug #6750]
854 Fri Jan 25 10:36:31 2013 Eric Hodel <drbrain@segment7.net>
856 * lib/mkmf.rb: Documented MakeMakefile constants. Hide implementation
859 Fri Jan 25 10:04:07 2013 Eric Hodel <drbrain@segment7.net>
861 * lib/rubygems/compatibility.rb: Hide compatibility shims from RDoc
863 * lib/rubygems/config_file.rb: Hide RbConfig use from RDoc
865 * lib/rubygems/test_case.rb: Added note to use realpath when 1.8
868 Fri Jan 25 09:14:43 2013 Eric Hodel <drbrain@segment7.net>
870 * lib/rdoc/generator/darkfish.rb: Fixed debug message. RDoc bug #174
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.
877 Thu Jan 24 19:55:25 2013 Shota Fukumori <her@sorah.jp>
879 * NEWS (yaml): Write about bundled libyaml.
881 Thu Jan 24 16:54:34 2013 Eric Hodel <drbrain@segment7.net>
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.
887 Thu Jan 24 16:49:17 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
889 * enum.c (enum_zip): Fix error message
891 * array.c (take_items): Same, for Array#zip
893 Thu Jan 24 16:47:26 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
895 * enumerator.c (lazy_zip): raise error for bad arguments
898 Thu Jan 24 16:05:08 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
900 * enumerator.c: Optimize Lazy#zip when passed only arrays
903 Thu Jan 24 15:21:17 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
905 * enumerator.c: Fix state handling for Lazy#zip,{drop_take}{_while}
906 [bug #7696] [bug #7691]
908 Thu Jan 24 11:43:47 2013 Narihiro Nakamura <authornari@gmail.com>
910 * eval.c (f_current_dirname): Add documentation about "__dir__
911 returns always an absolute path". [Bug #7729]
913 Thu Jan 24 10:28:30 2013 Eric Hodel <drbrain@segment7.net>
915 * NEWS (RDoc): Added mention of page support and markdown support.
917 Thu Jan 24 09:40:13 2013 Eric Hodel <drbrain@segment7.net>
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.
923 Wed Jan 23 16:29:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
929 Wed Jan 23 16:18:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
931 * lib/mkmf.rb (MakeMakefile#try_constant): fix for large unsigned.
933 * lib/mkmf.rb (MakeMakefile#try_constant): fix for larger constants.
935 * test/mkmf/test_constant.rb: tests for try_constant.
936 TODO: define check_constant and use it.
938 Wed Jan 23 13:35:37 2013 Koichi Sasada <ko1@atdot.net>
940 * thread_pthread.c (ruby_init_stack): ignore `STACK_END_ADDRESS'
941 if Ruby interpreter is running on co-routine.
943 https://bugs.ruby-lang.org/issues/2294#note-18
945 Wed Jan 23 12:28:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
950 Wed Jan 23 10:40:49 2013 Eric Hodel <drbrain@segment7.net>
952 * doc/syntax/assignment.rdoc (Implicit Array Assignment): Clarify
953 that "left-hand side" means "of the assignment". Suggested by Jorge
955 * doc/syntax/assignment.rdoc (Multiple Assignment): ditto.
957 Wed Jan 23 10:34:47 2013 Eric Hodel <drbrain@segment7.net>
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.
964 Wed Jan 23 10:20:08 2013 Eric Hodel <drbrain@segment7.net>
966 * lib/README: Fixed typo. Patch by Pradeep Sahoo.
969 Wed Jan 23 09:53:39 2013 Eric Hodel <drbrain@segment7.net>
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.
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.
979 * lib/rdoc/any_method.rb: Initialize visibility for #display? For
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.
990 Wed Jan 23 06:43:26 2013 Eric Hodel <drbrain@segment7.net>
992 * lib/rubygems/test_case.rb: Use Dir.tmpdir for rubygems tests instead
993 of ./tmp/test. Fixes [ruby-trunk - Bug #7717]
995 Tue Jan 22 22:58:03 2013 Akinori MUSHA <knu@iDaemons.org>
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
1001 Mon Jan 21 15:41:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1003 * tool/mkconfig.rb: BASERUBY is transient at core build.
1005 Mon Jan 21 13:51:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1007 * lib/mkmf.rb ($extmk): traverse parent directories for the case
1008 srcdir is a symlink.
1010 Sun Jan 20 23:55:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
1015 Sun Jan 20 22:24:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
1021 Sat Jan 19 11:35:00 2013 Zachary Scott <zachary@zacharyscott.net>
1023 * struct.c (Struct.new): Document Struct.new with block
1024 Patch by Hiroyuki Iwatsuki [Bug #7674]
1026 Sat Jan 19 09:52:46 2013 Eric Hodel <drbrain@segment7.net>
1028 * doc/syntax/miscellaneous.rdoc: Added section on defined?
1030 Sat Jan 19 09:27:31 2013 Eric Hodel <drbrain@segment7.net>
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.
1036 Sat Jan 19 09:15:58 2013 Eric Hodel <drbrain@segment7.net>
1038 * doc/syntax/assignment.rdoc: Improved links
1039 * doc/syntax/methods.rdoc: ditto.
1041 * doc/syntax.rdoc: Added link to assignment document
1043 Sat Jan 19 08:47:33 2013 Eric Hodel <drbrain@segment7.net>
1045 * doc/syntax/assignment.rdoc: Added a syntax document on assignment.
1047 Fri Jan 18 14:11:01 2013 Eric Hodel <drbrain@segment7.net>
1049 * doc/syntax/methods.rdoc: Added Array Decomposition.
1051 Fri Jan 18 12:54:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1053 * tool/rbinstall.rb (gem): Gem.ensure_gem_subdirectories makes
1054 subdirectories group-writable, so make them with $dir_mode.
1056 Fri Jan 18 11:24:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1058 * ext/win32ole/win32ole.c (ole_initialize): uninitialize OLE at thread
1059 ends. [Bug #2618] [ruby-core:27634]
1061 * ext/win32ole/win32ole.c (ole_initialize): initialize OLE for each
1062 threads. [Bug #2618] [ruby-core:27634]
1064 Thu Jan 17 22:10:35 2013 Kouhei Sutou <kou@cozmixng.org>
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.
1074 Thu Jan 17 21:08:20 2013 Kouhei Sutou <kou@cozmixng.org>
1076 * eval.c: Fix a typo in ruby_finalize() documentation.
1078 Thu Jan 17 20:28:18 2013 Benoit Daloze <eregontp@gmail.com>
1080 * object.c: Typo in Kernel#hash documentation.
1081 Patch by zed_0xff [Github Fixes #237]
1083 Thu Jan 17 10:48:56 2013 Aaron Patterson <aaron@tenderlovemaking.com>
1085 * ext/psych/lib/psych/scalar_scanner.rb: use constants rather than
1086 calculating Inf and NaN.
1088 Thu Jan 17 10:21:05 2013 Eric Hodel <drbrain@segment7.net>
1090 * doc/syntax/miscellaneous.rdoc: Added Ending an Expression and
1093 Thu Jan 17 09:30:21 2013 Eric Hodel <drbrain@segment7.net>
1095 * lib/rubygems/installer.rb: Untaint string when checking output
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
1102 * lib/rubygems.rb: Bump version to 2.0.0.rc.2
1104 Thu Jan 17 09:08:37 2013 Eric Hodel <drbrain@segment7.net>
1106 * doc/syntax/control_expressions.rdoc: Added ? : ternary if
1108 Thu Jan 17 08:36:04 2013 Eric Hodel <drbrain@segment7.net>
1110 * doc/syntax/miscellaneous.rdoc: Added documentation for alias, undef,
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.
1118 Thu Jan 17 07:50:26 2013 Eric Hodel <drbrain@segment7.net>
1120 * doc/syntax/control_expressions.rdoc (Flip-Flop): Added a section on
1123 Thu Jan 17 06:59:51 2013 Eric Hodel <drbrain@segment7.net>
1125 * doc/syntax/control_expressions.rdoc (if Expressions): Fixed markup
1126 error. Fixes #235 on github by FlyingFoX.
1128 Thu Jan 17 06:53:58 2013 Eric Hodel <drbrain@segment7.net>
1130 * doc/syntax/literals.rdoc (Strings): Fixed typo. Fixes #236 on
1133 Wed Jan 16 18:45:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
1139 Wed Jan 16 09:35:53 2013 Eric Hodel <drbrain@segment7.net>
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
1147 * lib/rubygems/ssl_certs/.document: Hide PEM files.
1149 Wed Jan 16 03:54:28 2013 Eric Hodel <drbrain@segment7.net>
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.
1155 Wed Jan 16 03:28:47 2013 Eric Hodel <drbrain@segment7.net>
1157 * doc/syntax/calling_methods.rdoc: Link to defining methods.
1158 * doc/syntax/methods.rdoc: Link to calling methods, fixed typo.
1160 Wed Jan 16 03:15:00 2013 Eric Hodel <drbrain@segment7.net>
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
1166 Wed Jan 16 03:05:50 2013 Eric Hodel <drbrain@segment7.net>
1168 * doc/syntax/control_expressions.rdoc (redo Statement): Added note
1170 * doc/syntax/exceptions.rdoc: Added retry statement
1172 Tue Jan 15 23:12:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
1177 Tue Jan 15 22:30:04 2013 Keiju Ishitsuka <keiju@ishitsuka.com>
1179 * lib/irb/ext/save-history.rb: identify rightly a status of a
1180 history file that already exists [Bug #7694]. Thanks Nobuhiro IMAI
1183 Tue Jan 15 15:55:28 2013 Eric Hodel <drbrain@segment7.net>
1185 * doc/syntax/control_expressions.rdoc: Added description of control
1186 expressions in ruby.
1188 Tue Jan 15 13:33:00 2013 Eric Hodel <drbrain@segment7.net>
1190 * doc/syntax/methods.rdoc (Method Names): Added method names including
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.
1196 Tue Jan 15 11:49:31 2013 Eric Hodel <drbrain@segment7.net>
1198 * doc/syntax/methods.rdoc (Block Argument): Added section on block
1199 argument. Thanks to Andy Lindeman.
1201 Tue Jan 15 10:54:59 2013 Eric Hodel <drbrain@segment7.net>
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.
1215 Tue Jan 15 10:40:18 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
1217 * test_lazy_enumerator: Test that map & flat_map also require a block
1219 Tue Jan 15 09:22:47 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
1225 Tue Jan 15 09:27:56 2013 Eric Hodel <drbrain@segment7.net>
1227 * doc/syntax/calling_methods.rdoc (Receiver): Added :: as pointed out
1229 * doc/syntax/calling_methods.rdoc (Block Argument): Fixed { } block
1230 examples as pointed out by David Copeland.
1232 Tue Jan 15 09:10:29 2013 Eric Hodel <drbrain@segment7.net>
1234 * doc/syntax/methods.rdoc (Array/Hash Argument): Moved above Keyword
1236 * doc/syntax/methods.rdoc (Keyword Arguments): Described ** for
1237 gathering arbitrary keyword arguments.
1239 Tue Jan 15 08:56:37 2013 Eric Hodel <drbrain@segment7.net>
1241 * doc/syntax/calling_methods.rdoc: Added document describing method
1244 Tue Jan 15 07:39:21 2013 Eric Hodel <drbrain@segment7.net>
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.
1250 Mon Jan 14 23:06:41 2013 Keiju Ishitsuka <keiju@ishitsuka.com>
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.
1256 Mon Jan 14 17:12:48 2013 Shugo Maeda <shugo@ruby-lang.org>
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]
1262 * enumerator.c (lazy_flat_map): add documentation.
1264 * test/ruby/test_lazy_enumerator.rb: related test.
1266 Mon Jan 14 16:42:28 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
1268 * enumerator.c: Require block for Lazy#{take|drop}_while [Bug #7692]
1270 Mon Jan 14 14:41:00 2013 Kenta Murata <mrkn@mrkn.jp>
1272 * ext/bigdecimal/bigdecimal.c (BigDecimal_to_s): use CRuby style.
1274 Mon Jan 14 14:39:00 2013 Kenta Murata <mrkn@mrkn.jp>
1276 * ext/bigdecimal/bigdecimal.c: use `RB_TYPE_P(x, t)` instead of
1279 Mon Jan 14 10:18:56 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
1281 * enumerator.c: Fix size for Enumerator::Lazy#flat_map
1283 Mon Jan 14 07:12:52 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
1285 * lib/matrix/lup_decomposition: Fix bugs with LUP Decomposition of
1286 rectangular matrices. [rubyspec:ba849801a85]
1288 Mon Jan 14 06:46:53 2013 NARUSE, Yui <naruse@ruby-lang.org>
1290 * regparse.c (add_ctype_to_cc): don't check dup warn on adding
1291 negative ctype to cclass. [Bug #7471] [ruby-core:50344]
1293 Mon Jan 14 06:06:03 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
1295 * lib/matrix/eigenvalue_decomposition: Backport bugfix of Jama 1.0.3
1296 [rubyspec:df87040be371]
1298 Sun Jan 13 16:45:00 2013 Zachary Scott <zachary@zacharyscott.net>
1300 * ext/psych/yaml/scanner.c: Fix typos, patch by James Dabbs
1301 [Github tenderlove/psych#118]
1303 Sun Jan 13 15:00:00 2013 Kenta Murata <mrkn@mrkn.jp>
1305 * ext/bigdecimal/bigdecimal.c (BigDecimal_sub):
1306 need to specify precision for converting Rational and Float.
1307 [ruby-dev:46544] [Bug #7404]
1309 * ext/bigdecimal/bigdecimal.c (BigDecimal_mult): ditto.
1311 * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): ditto.
1313 * ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): ditto.
1315 * ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto.
1317 * test/bigdecimal/test_bigdecimal.rb: add tests for the above fixes.
1319 Sun Jan 13 14:48:55 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
1321 * lib/matrix/eigenvalue_decomposition: Fix eigensystem with complex
1322 eigenvectors. Patch by pypypy567.
1323 [Bug #7208] [ruby-dev:46251] [rubyspec:242f8e55bd]
1325 * lib/matrix/lup_decomposition.rb: Fix error for rectangular matrices
1326 [bug#7620] [ruby-core:51118] [rubyspec:41f833ee2]
1328 Sun Jan 13 14:06:00 2013 Zachary Scott <zachary@zacharyscott.net>
1330 * lib/irb.rb, lib/prime.rb: Typos in overview
1331 Patch by Ershad K [Github Fixes #234]
1333 Sun Jan 13 13:40:00 2013 Zachary Scott <zachary@zacharyscott.net>
1335 * lib/open3.rb : Typo in Open3 overview. Patch by zed_0xff
1338 Sat Jan 12 17:42:00 2013 Kenta Murata <mrkn@cookpad.com>
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]
1344 Sat Jan 12 16:12:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1346 * win32/setup.mak (-runtime-): see msvcrt from link header on mswin
1347 instead of running testing executable file, for cross compiling.
1349 Sat Jan 12 08:58:47 2013 Aaron Patterson <aaron@tenderlovemaking.com>
1351 * ext/psych/lib/psych/visitors/to_ruby.rb: merge key values that
1352 contain something besides a hash should be left in tact.
1354 * test/psych/test_merge_keys.rb: test for change
1356 Sat Jan 12 07:52:47 2013 Masaki Suketa <masaki.suketa@nifty.ne.jp>
1358 * ext/win32ole/win32ole.c (ole_set_byref): support VT_UI8|VT_BYREF,
1359 VT_I8|VT_BYREF in cygwin and mingw.
1361 * ext/win32ole/win32ole.c (ole_variant2val): ditto.
1363 * test/win32ole/test_win32ole_variant.rb (test_s_new_with_i8_byref):
1366 * test/win32ole/test_win32ole_variant.rb (test_s_new_with_ui8_byref):
1369 Sat Jan 12 02:45:00 2013 Zachary Scott <zachary@zacharyscott.net>
1371 * man/ruby.1 (options): include --*-encoding from r38784
1373 Fri Jan 11 23:34:48 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
1375 * ruby.c (usage): sort --*-encoding in help. (same order of -E)
1377 Fri Jan 11 16:56:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
1383 Fri Jan 11 11:59:32 2013 NARUSE, Yui <naruse@ruby-lang.org>
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
1389 Fri Jan 11 09:56:22 2013 Shugo Maeda <shugo@ruby-lang.org>
1391 * insns.def (defineclass): private constants should not be accessed
1392 by scoped module definitions. The bug was introduced in r38495.
1394 * test/ruby/test_module.rb: related test.
1396 Fri Jan 11 02:11:59 2013 Shugo Maeda <shugo@ruby-lang.org>
1398 * lib/rbconfig/obsolete.rb (respond_to_missing?): use send because
1399 RbConfig.respond_to_missing? is now private.
1401 Thu Jan 10 22:00:58 2013 Koichi Sasada <ko1@atdot.net>
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.
1408 Thu Jan 10 21:03:05 2013 TAKANO `takano32' Mitsuhiro <tak@no32.tk>
1410 * cont.c: define FIBER_USE_NATIVE as 0 in ia64.
1412 Thu Jan 10 19:39:05 2013 TAKANO `takano32' Mitsuhiro <tak@no32.tk>
1414 * thread.c: fix RB_GC_SAVE_MACHINE_REGISTER_STACK define for ia64.
1416 Thu Jan 10 17:45:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1418 * Makefile.in, win32/Makefile.sub ($(MKFILES)): continue if Makefile
1421 Thu Jan 10 16:31:20 2013 Shugo Maeda <shugo@ruby-lang.org>
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]
1427 Thu Jan 10 16:47:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1429 * ext/tk/extconf.rb (find_tcltk_header): use have_header instead of
1430 try_cpp, which is incredibly slow with VC.
1432 Thu Jan 10 15:55:28 2013 Shugo Maeda <shugo@ruby-lang.org>
1434 * numeric.c (do_coerce): remove an unused variable.
1436 Thu Jan 10 15:35:55 2013 Shugo Maeda <shugo@ruby-lang.org>
1438 * tool/gen_dummy_probes.rb: remove comments in probes.d to fix the
1439 compilation error introduced by r38755.
1441 Thu Jan 10 11:15:04 2013 Kenta Murata <mrkn@cookpad.com>
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]
1448 Thu Jan 10 11:15:04 2013 Aaron Patterson <aaron@tenderlovemaking.com>
1450 * probes.d: updating probes to be more symmetrical, adding
1455 Thu Jan 10 04:23:07 2013 Aaron Patterson <aaron@tenderlovemaking.com>
1457 * ext/psych/lib/psych/scalar_scanner.rb: strip trailing dots from
1458 floats so that Float() will not raise an exception.
1460 * test/psych/test_numeric.rb: test to ensure "1." can be loaded
1462 * test/psych/test_string.rb: make sure "1." can round trip
1464 Thu Jan 10 03:38:40 2013 Aaron Patterson <aaron@tenderlovemaking.com>
1466 * ext/psych/lib/psych/visitors/yaml_tree.rb: ascii only binary strings
1467 will be dumped as unicode. Thanks Paul Kunysch!
1469 * test/psych/test_string.rb: appropriate test
1471 Thu Jan 10 03:29:55 2013 Koichi Sasada <ko1@atdot.net>
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.
1480 * bootstraptest/test_literal.rb: add a test.
1482 Wed Jan 9 22:07:42 2013 Masaki Matsushita <glass.saga@gmail.com>
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]
1488 Wed Jan 9 21:43:32 2013 Masaki Matsushita <glass.saga@gmail.com>
1490 * load.c (load_lock): revert r38744. it should acquire new thread
1493 Wed Jan 9 15:40:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
1498 Wed Jan 9 13:20:23 2013 Masaki Matsushita <glass.saga@gmail.com>
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).
1504 Wed Jan 9 09:53:23 2013 Masaki Matsushita <glass.saga@gmail.com>
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]
1510 * test/ruby/test_require.rb: a test for above.
1512 Wed Jan 9 02:13:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1514 * include/ruby/ruby.h (RBasic): to be aligned on a VALUE size
1515 boundary. [Bug #7647]
1517 Tue Jan 8 14:41:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
1523 Mon Jan 7 23:43:00 2013 Kenta Murata <mrkn@mrkn.jp>
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]
1529 * test/bigdecimal/test_bigdecimal.rb: add a reproduction test for
1530 the issue [Bug #7044]
1532 Mon Jan 7 21:40:36 2013 Shugo Maeda <shugo@ruby-lang.org>
1534 * vm_method.c (Init_eval_method): main.public and main.private
1537 * proc.c (Init_Proc): main.define_method should be private.
1539 * test/ruby/test_module.rb: related test.
1541 Mon Jan 7 20:48:47 2013 Shugo Maeda <shugo@ruby-lang.org>
1543 * eval.c (Init_eval): main.include should be private.
1544 [ruby-core:51293] [Bug #7670]
1546 * test/ruby/test_module.rb (test_top_include_is_private): a new test
1547 for the above change.
1549 Mon Jan 7 20:29:50 2013 Shugo Maeda <shugo@ruby-lang.org>
1551 * NEWS: remove description about `require "refinement"'.
1553 Mon Jan 7 20:15:49 2013 Shugo Maeda <shugo@ruby-lang.org>
1555 * eval.c (Init_eval): enable Refinements by default.
1556 [ruby-core:51286] [Bug #7667]
1558 * eval.c (rb_mod_refine, top_using): show a warning when
1559 Module#refine or main.using is called at the first time.
1561 * ext/refinement/*: removed the extension library "refinement".
1563 * test/ruby/test_refinement.rb: fix for the above changes.
1565 Mon Jan 7 17:34:22 2013 Koichi Sasada <ko1@atdot.net>
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.
1572 * vm_trace.c (get_event_id): return :line if SPECIFIED_LINE was
1573 occurred. `:specified_line' never been returned.
1575 Mon Jan 7 15:42:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1577 * parse.y (f_kwrest): allow bare kwrest_mark as valid syntax. its
1578 semantics is still undefined. [Bug #7662] [ruby-core:51269]
1580 Mon Jan 7 15:31:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1582 * parse.y (f_kwrest): reject duplicated kwrest argument name.
1584 Mon Jan 7 15:24:10 2013 Koichi Sasada <ko1@atdot.net>
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.
1592 * test/ruby/test_settracefunc.rb: add a test for above.
1594 Mon Jan 7 15:21:48 2013 NAKAMURA Usaku <usa@ruby-lang.org>
1596 * Makefile.in, common.mk (fake, yes-fake, no-make): these dependencies
1597 are not platform dependent.
1599 * win32/Makefile.sub ($(arch)-fake.rb): workaround.
1601 Mon Jan 7 12:09:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
1607 Mon Jan 7 09:37:24 2013 Koichi Sasada <ko1@atdot.net>
1609 * NEWS: add a NEWS entry about RubyVM.
1611 Sun Jan 6 19:06:57 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
1613 * win32/Makefile.sub: Fix build with VC.
1614 Patch by Charlie Savage. Fixes [ruby-core:51261]
1616 Sun Jan 6 18:43:48 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
1618 * bootstraptest/test_io.rb: add a test for [ruby-dev:46834].
1620 * io.c (rb_cloexec_fcntl_dupfd) Use an emulation with dup(2) when
1621 fcntl(2) and/or F_DUPFD is unavailable.
1624 * configure.in (HAVE_FCNTL): NativeClient does not provide fcntl(2).
1626 Sun Jan 6 11:11:26 2013 Eric Hodel <drbrain@segment7.net>
1628 * doc/syntax/modules_and_classes.rdoc: Fixed typo.
1630 Sun Jan 6 05:35:18 2013 Eric Hodel <drbrain@segment7.net>
1632 * doc/syntax/modules_and_classes.rdoc: Added singleton classes
1635 Sun Jan 6 02:22:00 2013 Zachary Scott <zachary@zacharyscott.net>
1637 * lib/webrick/httpservlet/abstract.rb (WEBrick::HTTPServlet): Typo in
1638 example. Patch by shlensky [Fixes #232 on github]
1640 Sat Jan 5 21:15:10 2013 NARUSE, Yui <naruse@ruby-lang.org>
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
1647 Sat Jan 5 13:58:59 2013 Eric Hodel <drbrain@segment7.net>
1649 * doc/syntax/modules_and_classes.rdoc: Improved description of methods
1650 on a module or class as suggested by Tobias Buhlmann
1652 Sat Jan 5 13:38:07 2013 Masaki Matsushita <glass.saga@gmail.com>
1654 * string.c (rb_str_enumerate_lines): fix invalid byte sequence error
1655 when a separator is passed. The patch is from yoshidam (Yoshida
1657 [Bug #7646] [ruby-dev:46827]
1659 * test/ruby/test_string.rb: a test for above.
1661 Sat Jan 5 12:25:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
1663 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err):
1664 check stdout and stderr both.
1666 Sat Jan 5 10:21:54 2013 Eric Hodel <drbrain@segment7.net>
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.
1673 Sat Jan 5 08:38:27 2013 Eric Hodel <drbrain@segment7.net>
1675 * doc/syntax/methods.rdoc: Added return values and scope sections,
1676 slightly modified from the original patch. Fixes #227 from github by
1679 Sat Jan 5 08:21:41 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
1681 * io.c (rb_cloexec_fcntl_dupfd): improve #ifdef condition.
1682 * io.c (rb_maygvl_fd_fix_cloexec): ditto.
1684 Sat Jan 5 07:54:59 2013 Eric Hodel <drbrain@segment7.net>
1686 * lib/rubygems/commands/cleanup_command.rb: Clean all possible gems
1687 using multiple passes. Fixes RubyGems bug #422. Refactored for
1689 * test/rubygems/test_gem_commands_cleanup_command.rb: Test for above.
1691 Sat Jan 5 05:04:39 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
1693 * gc.c (vm_xrealloc): add a few comment why we avoid realloc(ptr,0).
1695 Fri Jan 4 20:17:06 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
1697 * Makefile.in (RBCONFIG): Moved from common.mk in order to use the
1698 variable in Makefile.in.
1700 * win32/Makefile.sub (RBCONFIG): Ditto.
1702 Fri Jan 4 19:45:50 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
1704 * common.mk (run, parse): Use BTESTRUBY instead of MINIRUBY to handle
1705 cross-compiling cases, e.g. NativeClient.
1707 Fri Jan 4 17:58:16 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
1709 * common.mk (yes-btest): btest depends on also $(arch)-fake.rb and
1710 rbconfig.rb on building for NativeClient.
1712 * Makefile.in (fake): Avoid generating $(arch)-fake.rb unless cross
1715 * configure.in (CROSS_COMPILING): New substitution.
1717 Fri Jan 4 16:26:45 2013 Eric Hodel <drbrain@segment7.net>
1719 * lib/rubygems/doctor.rb: Process directories in order in case the
1720 filesystem doesn't. [ruby-trunk - Bug #7618]
1722 Process specifications before other directories in case of bugs.
1723 * test/rubygems/test_gem_doctor.rb: Test for above.
1725 * lib/rubygems.rb: Updated version.
1727 * test/rubygems/test_require.rb: Fixed double require of
1728 benchmark.rb. RubyGems bug #420.
1730 * test/rubygems/test_gem_commands_check_command.rb: Fixed unused
1732 * test/rubygems/test_gem_commands_query_command.rb: ditto
1733 * test/rubygems/test_gem_installer.rb: ditto
1735 Fri Jan 4 15:05:25 2013 Eric Hodel <drbrain@segment7.net>
1737 * lib/rdoc/cross_reference.rb: Fixed matching of C#=== or #===. RDoc
1739 * test/rdoc/test_rdoc_cross_reference.rb: Test for above.
1741 * lib/rdoc/parser/changelog.rb: Fixed parsing of dates. RDoc bug #165
1742 * test/rdoc/test_rdoc_parser_changelog.rb: Test for above.
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.
1755 * lib/rdoc/tom_doc.rb: Fixed parsing of [] in TomDoc arguments list.
1757 * test/rdoc/test_rdoc_tom_doc.rb: Test for above.
1759 * lib/rdoc.rb: Update version.
1761 Fri Jan 4 11:51:00 2013 Zachary Scott <zachary@zacharyscott.net>
1763 * lib/forwardable.rb: Fix rdoc parameters for ::def_single_delegator.
1764 Patch by Vladimir Andrijevik [Github Fixes #230]
1766 Fri Jan 4 00:35:11 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
1768 Fix failures on btest for NativeClient.
1769 * bootstraptest/runner.rb (nacl?): New method to distinguish NaCl
1772 * bootstraptest/test_io.rb: Skip unsupported operations.
1774 * bootstraptest/test_literal.rb: ditto.
1776 Fri Jan 4 00:29:40 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
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).
1782 Thu Jan 3 17:46:50 2013 Kouhei Sutou <kou@cozmixng.org>
1784 * lib/rexml/element.rb (REXML::Elements#add): Remove too much
1785 "elements" in document. Sorry...
1787 Thu Jan 3 17:42:32 2013 Kouhei Sutou <kou@cozmixng.org>
1789 * lib/rexml/element.rb (REXML::Elements#each): Add missing
1790 "elements" in document. [ruby-talk:402713]
1791 Reported by Wesley Rishel. Thanks!!!
1793 Thu Jan 3 15:13:00 2013 Zachary Scott <zachary@zacharyscott.net>
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]
1799 Thu Jan 3 14:58:00 2013 Zachary Scott <zachary@zacharyscott.net>
1801 * lib/forwardable.rb (SingleForwardable): Fix example in overview
1802 Patch by Vladimir Andrijevik [Github Fixes #231]
1804 Thu Jan 3 14:32:47 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
1806 * configure.in (OBJCOPY): Fixes build error for NativeClient.
1807 Avoid disabling OBJCOPY for NativeClient.
1809 * thread_pthread.c (rb_reserved_fd_p): USE_SLEEPY_TIMER_THREAD is
1810 always defined. Fixes compilation error for NativeClient.
1812 Wed Jan 02 03:09:00 2013 Zachary Scott <zachary@zacharyscott.net>
1814 * ext/zlib/zlib.c (Zlib::GzipReader): Fix typo by zed_0xff
1817 Wed Jan 02 02:29:00 2013 Zachary Scott <zachary@zacharyscott.net>
1819 * hash.c (rb_hash_update): Revert documentation from r38672
1820 See: https://github.com/ruby/ruby/pull/228#issuecomment-11791013
1822 Wed Jan 02 02:16:00 2013 Zachary Scott <zachary@zacharyscott.net>
1824 * hash.c (rb_hash_update): Documentation for Hash#merge and shallow
1825 copies Patch by Yorick Peterse [Fixes Github #228]
1827 Mon Dec 31 15:10:00 2012 Zachary Scott <zachary@zacharyscott.net>
1829 * vm_backtrace.c: Add documentation for Kernel#caller_locations,
1830 Kernel#caller, and Thread::Backtrace::Location
1832 Mon Dec 31 13:05:00 2012 Zachary Scott <zachary@zacharyscott.net>
1834 * test/ruby/test_backtrace.rb: Add test for r37957 [Feature #7434]
1836 Sun Dec 30 23:33:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
1838 * parse.y (simple_re_meta): escaped closing parenthesis has different
1839 meaning. [Bug #7610] [ruby-core:51088]
1841 Sun Dec 30 12:09:47 2012 Charlie Somerville <charlie@charliesomerville.com>
1843 * configure.in: use 4 argument form of AC_CHECK_HEADERS to force
1844 autoconf to use compiler's result
1846 Sun Dec 30 10:58:04 2012 Kazuki Tsujimoto <kazuki@callcc.net>
1848 * test/ruby/test_keyword.rb: add a test for passing hash
1849 as a last argument. [ruby-dev:46712] [Bug #7529]
1851 Sun Dec 30 10:51:29 2012 Kazuki Tsujimoto <kazuki@callcc.net>
1853 * vm_insnhelper.c: set keyword hash on Proc/block calls.
1854 [ruby-core:51172] [Bug #7630]
1856 * test/ruby/test_keyword.rb: add tests for above.
1858 Sat Dec 29 21:57:11 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
1860 * lib/irb/completion.rb: treat rightly completion for symbol on irb
1863 Sat Dec 29 21:51:30 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
1869 Sat Dec 29 16:45:00 2012 Zachary Scott <zachary@zacharyscott.net>
1871 * iseq.c (RubyVM::InstructionSequence): rdoc formatting
1873 Sat Dec 29 15:28:00 2012 Zachary Scott <zachary@zacharyscott.net>
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
1879 Sat Dec 29 14:06:00 2012 Zachary Scott <zachary@zacharyscott.net>
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
1884 Sat Dec 29 11:37:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
1891 Sat Dec 29 10:10:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
1893 * configure.in (crt_externs.h): use standard macro AC_CHECK_HEADERS.
1895 Fri Dec 28 23:12:44 2012 Charlie Somerville <charlie@charliesomerville.com>
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
1902 * missing/setproctitle.c: ditto
1903 * missing/crt_externs.h: declare _NSGetEnviron() function and define environ
1906 Fri Dec 28 21:40:36 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
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.
1912 Fri Dec 28 17:06:17 2012 Akinori MUSHA <knu@iDaemons.org>
1914 * misc/ruby-electric.el (ruby-electric-curlies): Automatically
1915 indent closing curly brackets when
1916 ruby-electric-newline-before-closing-bracket is true.
1918 Fri Dec 28 11:50:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
1920 * vm_insnhelper.c (vm_yield_setup_block_args): pass single argument to
1921 single optional parameter unchanged without splatting. [Bug #7621]
1924 Fri Dec 28 11:17:47 2012 Shugo Maeda <shugo@ruby-lang.org>
1926 * proc.c (method_eq): fix the documentation to refer to owner.
1927 [ruby-core:51105] [Bug #7613]
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.
1932 Fri Dec 28 07:07:43 2012 NARUSE, Yui <naruse@ruby-lang.org>
1934 * def/id.def: use split(/^/) instead of String#lines to support
1935 Ruby 1.8.5 as BASERUBY.
1937 Thu Dec 27 21:56:56 2012 NARUSE, Yui <naruse@ruby-lang.org>
1939 * variable.c (rb_mod_remove_const): fix segv caused by r38558.
1941 Tue Dec 28 01:13:48 2012 James Edward Gray II <james@graysoftinc.com>
1943 * lib/csv.rb: Added more Hash methods to CSV::Row.
1945 Thu Dec 27 23:27:15 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
1947 * lib/irb/ruby-lex.rb: make lex_state to EXPR_END when next token
1948 is an operator after SYMBEG [Bug #6378].
1950 Thu Dec 27 21:30:21 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
1952 * lib/irb/ruby-lex.rb: allow to handle recursive heredocs on
1955 Thu Dec 27 20:45:29 2012 Masaki Matsushita <glass.saga@gmail.com>
1957 * ext/stringio/stringio.c (strio_getline): fix not to raise TypeError
1959 [Bug #7232] [ruby-core:48531]
1961 * test/stringio/test_stringio.rb: a test for above.
1963 Thu Dec 27 21:08:23 2012 Charlie Somerville <charlie@charliesomerville.com>
1965 * vm_core.h (VM_DEFINECLASS_TYPE): explicit cast to enum type to avoid 64->32
1968 Thu Dec 27 20:11:29 2012 Masaki Matsushita <glass.saga@gmail.com>
1970 * ext/stringio/stringio.c (strio_ungetc): raise IOError instead of RuntimeError
1971 if the string is frozen.
1972 [Bug #7231] [ruby-core:48530]
1974 * ext/stringio/stringio.c (strio_ungetbyte): ditto.
1976 * test/stringio/test_stringio.rb: a test for above.
1978 Wed Dec 26 23:55:18 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
1980 * lib/irb/context.rb: fix IRB::Inspector#keys_with_inspector [Bug #7598]
1982 Wed Dec 26 23:26:15 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
1984 * lib/irb/context.rb: IRB::Context#use_readline= has been obsolete
1987 Wed Dec 26 21:32:46 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
1989 * lib/irb/context.rb: make a correct prompt from
1990 IRB.conf[:IRB_NAME] on irb [Bug #6338]. Patched by sho-h.
1992 Wed Dec 26 21:09:19 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
1994 * lib/irb/ext/math-mode.rb: make not able to change math-mode
1995 after irb starting [Bug #6302]. Patched by sho-h.
1997 Wed Dec 26 12:52:36 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
1999 * lib/irb/init.rb: change default debug level for
2000 irb[ruby-dev:46805], [Bug #6301].
2002 Wed Dec 26 11:54:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
2008 Wed Dec 26 07:31:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2010 * string.c (rb_enc_cr_str_copy_for_substr): empty string is always
2013 * string.c (rb_str_enumerate_lines, rb_str_chop): reduce duplicated
2016 * string.c (rb_str_enumerate_chars): prevent shared copy from GC.
2018 Wed Dec 26 01:31:16 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
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.
2023 Wed Dec 26 00:59:18 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
2025 * lib/irb/ruby-lex.rb: improve RubyLex performance for large files
2026 [Bug #5202]. Patch by ryanmelt.
2028 Tue Dec 25 22:21:06 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
2030 * lib/irb/output-method.rb: raise right exception when
2031 IRB::OutputMethod#print don't defined [Bug #6657].
2033 Tue Dec 25 22:06:33 2012 Koichi Sasada <ko1@atdot.net>
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]
2040 * vm_core.h (EXEC_EVENT_HOOK_AND_POP_FRAME): add to use
2041 `rb_threadptr_exec_event_hooks_and_pop_frame()'.
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.
2048 * test/ruby/test_settracefunc.rb: add a test.
2050 Tue Dec 25 21:08:53 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
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].
2055 Tue Dec 25 19:22:17 2012 Keiju Ishitsuka <keiju@ishitsuka.com>
2057 * lib/irb/workspace.rb: define method to private on top-level irb
2058 [Bug #5776]. Patch by davidbalbert.
2060 Tue Dec 25 19:09:51 2012 NAKAMURA Usaku <usa@ruby-lang.org>
2062 * bignum.c, include/ruby/intern.h (rb_big_eql): exported.
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]
2069 Tue Dec 25 18:53:35 2012 Koichi Sasada <ko1@atdot.net>
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.
2076 * tool/instruction.rb: catch up above changes.
2078 * vm.c, vm_insnhelper.c: ditto.
2080 * vm_insnhelper.c (vm_stackoverflow): add a function to unify
2081 raising vm stackoverflow exception.
2083 Tue Dec 25 16:16:54 2012 Koichi Sasada <ko1@atdot.net>
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]
2091 Tue Dec 25 13:38:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2093 * error.c (compile_err_append, compile_warn_print, warn_print): use
2094 rb_write_error_str() instead of writing to rb_stderr directly.
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.
2099 Tue Dec 25 00:59:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
2105 Mon Dec 24 04:56:48 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
2112 Sun Dec 23 19:09:16 2012 Koichi Sasada <ko1@atdot.net>
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]
2120 * vm_core.c, thread.c: rename functions and data structure
2121 `async_errinfo' to `pending_interrupt'.
2123 * thread.c: add global variables sym_immediate, sym_on_blocking and
2126 * cont.c, process.c, vm.c, signal.c: ditto.
2128 * lib/sync.rb, lib/thread.rb: catch up this renaming.
2130 * test/ruby/test_thread.rb: ditto.
2132 Sun Dec 23 17:57:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2134 * lib/profiler.rb (Profiler__::PROFILE_PROC, print_profile): store
2135 profile data per threads for concurrent-execution.
2136 [ruby-core:22046] [Bug #1152]
2138 * lib/profiler.rb (Profiler__::Wrapper): support calling singleton
2139 methods of an instance of BasicObject.
2141 * lib/profiler.rb (Profiler__::PROFILE_PROC): use TracePoint.
2143 Sun Dec 23 16:13:00 2012 Zachary Scott <zachary@zacharyscott.net>
2145 * lib/erb.rb: typos for ERB::new link
2147 Sun Dec 23 16:06:00 2012 Zachary Scott <zachary@zacharyscott.net>
2149 * lib/erb.rb: Document ERB::new trim_mode '-' for lines ending in -%>
2150 [ruby-core:51084] [Bug #7608]
2152 Sun Dec 23 15:25:00 2012 Zachary Scott <zachary@zacharyscott.net>
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]
2157 Sun Dec 23 15:05:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
2162 * marshal.c (w_object, r_object0): use rb_check_funcall_with_hook
2163 instead of respond_to? and call.
2165 Sun Dec 23 14:52:00 2012 Zachary Scott <zachary@zacharyscott.net>
2167 * re.c (rb_reg_eqq): doc: #=== is not a synonym for #=~, added example
2168 [ruby-dev:46746] [Bug #7571]
2170 Sun Dec 23 14:35:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
2176 Sun Dec 23 09:34:07 2012 Eric Hodel <drbrain@segment7.net>
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.
2182 * lib/rubygems/commands/push_command.rb: Allow pushes from RubyGems
2185 * lib/rubygems/commands/update_command.rb: Use Gem.ruby_version
2187 * lib/rubygems/dependency.rb: Update style.
2189 * lib/rubygems/installer.rb: Ensure installed gem specifications will
2190 be useable. Refactor.
2191 * test/rubygems/test_gem_installer.rb: ditto.
2193 * lib/rubygems/validator.rb: Fixed bug with unreadable files.
2195 * lib/rubygems.rb: Fixed broken methods.
2196 * test/rubygems/test_gem.rb: Test for above.
2198 * test/rubygems/test_gem_commands_push_command.rb: Fixed overridden
2199 Gem.latest_rubygems_version
2201 Sun Dec 23 01:52:01 2012 Akinori MUSHA <knu@iDaemons.org>
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.
2207 * ext/stringio/stringio.c (strio_lines, strio_bytes, strio_chars)
2208 (strio_codepoints): Deprecate
2209 StringIO#{lines,bytes,chars,codepoints}. [Feature #6670]
2211 * ext/zlib/zlib.c (rb_gzreader_lines, rb_gzreader_bytes):
2212 Deprecate Zlib::GzipReader#{lines,bytes}. [Feature #6670]
2214 Sat Dec 23 01:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
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]
2221 Sat Dec 23 00:08:00 2012 Kenta Murata <mrkn@mrkn.jp>
2223 * include/ruby/intern.h: add the prototype declaration of
2226 * numeric.c (rb_num_coerce_bit): the new coerce function for bitwise
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]
2234 * bignum.c (rb_big_or): ditto.
2236 * bignum.c (rb_big_xor): ditto.
2238 * numeric.c (bit_coerce): ditto.
2240 * numeric.c (fix_and): ditto.
2242 * numeric.c (fix_or): ditto.
2244 * numeric.c (fix_xor): ditto.
2246 * test/ruby/test_integer.rb: add tests for the above changes.
2248 * test/ruby/test_bignum.rb: ditto.
2250 Sun Dec 23 00:04:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2252 * internal.h (QUOTE, QUOTE_ID): quote unprintable chars in strings and
2253 IDs. [Bug #7574] [ruby-dev:46749]
2255 * string.c (rb_str_quote_unprintable): ditto.
2257 Sat Dec 22 23:59:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2259 * error.c (rb_compile_error, rb_compile_warn, rb_compile_warning),
2260 (rb_warn, rb_warning): support PRIsVALUE.
2262 Sat Dec 22 22:04:58 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
2264 * cont.c (rb_fiber_start): unify conditions.
2266 Sat Dec 22 21:47:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
2272 Sat Dec 22 20:31:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2274 * object.c (rb_mod_const_get): symbol cannot be nested constant name.
2276 Sat Dec 22 19:26:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2278 * object.c (rb_mod_const_get): check more strictly. [ruby-dev:46748]
2281 Wed Dec 19 02:34:48 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
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]
2287 * thread.c (rb_threadptr_execute_interrupts): now INT2FIX(TAG_FATAL)
2288 can be popped from async_errinfo_queue.
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.
2294 * test/ruby/test_fiber.rb (test_exit_in_fiber): fix a test to illuminate
2295 Thread.exit should terminate current Thread.
2297 Sat Dec 22 13:15:08 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
2299 * gc.c (obj_id_to_ref): add a macro to treat Bignum object id.
2300 This follows the change r38493.
2302 * gc.c (id2ref): fix for working fine with Bignum object id on x64
2304 * gc.c (wmap_finalize): ditto.
2306 Sat Dec 22 11:30:21 2012 Masaki Matsushita <glass.saga@gmail.com>
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]
2313 Sat Dec 22 05:34:54 2012 Eric Hodel <drbrain@segment7.net>
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.
2325 Sat Dec 22 02:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
2327 * lib/irb/slex.rb(#match): Typo, should be D_DETAIL
2328 [ruby-core:51071] [Bug#7600]
2330 Sat Dec 22 02:29:00 2012 Zachary Scott <zachary@zacharyscott.net>
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]
2336 Sat Dec 22 02:19:38 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
2338 * vm_dump.c (rb_vm_bugreport): revert r38533.
2339 * addr2line.c (fill_lines): add ELF sanity check.
2340 [Bug #7597] [ruby-dev:46786]
2342 Sat Dec 22 02:05:00 2012 Zachary Scott <zachary@zacharyscott.net>
2344 * lib/irb/inspector.rb, lib/irb/context.rb: Move IRB::INSPECTORS and
2345 class methods to IRB::Inspector [ruby-core:51067][Bug #7598]
2347 Sat Dec 22 00:28:46 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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]
2353 Fri Dec 21 23:15:25 2012 Kouhei Sutou <kou@cozmixng.org>
2355 * ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes):
2357 * test/fiddle/test_c_struct_entry.rb
2358 (Fiddle::TestCStructEntity#test_aref_pointer):
2359 Added the test for the above.
2361 Fri Dec 21 23:12:05 2012 Kouhei Sutou <kou@cozmixng.org>
2363 * ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes):
2365 * test/fiddle/test_c_struct_entry.rb
2366 (Fiddle::TestCStructEntity#test_aref_pointer_array):
2367 Added the test for the above.
2369 Fri Dec 21 22:43:36 2012 Kouhei Sutou <kou@cozmixng.org>
2371 * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof):
2373 * test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof):
2374 Added the test for the above.
2376 Fri Dec 21 22:34:17 2012 Koichi Sasada <ko1@atdot.net>
2378 * test/ruby/test_iseq.rb: disable a test which checks features
2381 Fri Dec 21 22:02:00 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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]
2387 * dir.c (READDIR): follow above change.
2389 Fri Dec 21 21:12:54 2012 Masaya Tarui <tarui@ruby-lang.org>
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]
2395 Fri Dec 21 20:38:28 2012 Koichi Sasada <ko1@atdot.net>
2397 * iseq.c (Init_ISeq): remove definition of the following methods:
2398 ISeq#line_trace_all and ISeq#line_trace_specify because they are
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.
2404 Fri Dec 21 20:21:04 2012 Koichi Sasada <ko1@atdot.net>
2406 * vm_trace.c (tracepoint_new): add code to support specified thread.
2407 But not tested and this feature is not supported officially.
2409 Fri Dec 21 19:37:15 2012 Koichi Sasada <ko1@atdot.net>
2411 * ruby.c (process_options): need to acquire env from TOPLEVEL_BINDING
2413 `bind->env' may update after `eval()'.
2416 Fri Dec 21 18:46:50 2012 Koichi Sasada <ko1@atdot.net>
2418 * include/ruby/debug.h, vm_core.h: define rb_trace_arg_t at
2419 include/ruby/debug.h (move from vm_core.h).
2421 Fri Dec 21 17:48:15 2012 Koichi Sasada <ko1@atdot.net>
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().
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.
2436 I believe nobody mix threads at trace procedure.
2437 This is current limitation.
2440 * cont.c (fiber_switch, rb_cont_call): use rb_thread_t::trace_arg
2441 instead of rb_thread_t::trace_running.
2443 * test/ruby/test_settracefunc.rb: add a multi-threading test.
2445 Fri Dec 21 16:38:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2447 * template/id.h.tmpl (ID2ATTRSET): compile time constant macro for
2450 * defs/id.def (KeywordError): check duplication.
2452 * defs/id.def: support for other scope IDs,
2453 ID_{INSTANCE,GLOBAL,CONST,CLASS}.
2455 Fri Dec 21 14:45:00 2012 Zachary Scott <zachary@zacharyscott.net>
2457 * lib/irb.rb, lib/irb/*: Documentation for IRB
2459 Fri Dec 21 11:31:02 2012 Eric Hodel <drbrain@segment7.net>
2461 * lib/rake/*: Updated to rake 0.9.6
2463 * test/rake/*: ditto
2465 Fri Dec 21 08:56:34 2012 Masaya Tarui <tarui@ruby-lang.org>
2467 * vm_trace.c (rb_suppress_tracing): remove unused variable 'vm_tracing'
2469 Fri Dec 21 01:01:45 2012 Masaya Tarui <tarui@ruby-lang.org>
2471 * lib/irb/completion.rb (CompletionProc): support completion of
2472 instance variables. [ruby-dev:46710] [Bug #7520]
2474 Thu Dec 20 20:58:25 2012 Masaya Tarui <tarui@ruby-lang.org>
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.
2480 Thu Dec 20 18:29:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2482 * include/ruby/ruby.h (RTEST, NIL_P): make bare expressions without
2483 outermost parentheses.
2485 Thu Dec 20 17:29:00 2012 Shugo Maeda <shugo@ruby-lang.org>
2487 * NEWS: fix the description for Refinements.
2489 Thu Dec 20 16:53:59 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
2505 * test/ruby/test_class.rb: related test.
2507 Thu Dec 20 16:52:37 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
2509 * NEWS: announce AEAD encryption support in the OpenSSL extension.
2511 Thu Dec 20 16:40:13 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
2518 Thu Dec 20 16:39:04 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
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]
2526 Thu Dec 20 15:55:46 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
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
2531 * test/openssl/test_fips.rb: remove tests that cause errors on
2533 [Feature #6946] [ruby-core:47345]
2535 Thu Dec 20 15:22:59 2012 Eric Hodel <drbrain@segment7.net>
2537 * lib/rdoc/parser/ruby.rb: Ignore methods defined on constants to
2538 prevent modules with the names of constants from appearing in the
2540 * test/rdoc/test_rdoc_parser_ruby.rb: Test for the above.
2542 Thu Dec 20 15:00:33 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
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
2553 Thu Dec 20 12:56:53 2012 Eric Hodel <drbrain@segment7.net>
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
2561 * test/rdoc/test_rdoc_comment.rb: Removed trailing whitespace.
2563 Thu Dec 20 11:05:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2565 * test/ruby/envutil.rb (assert_valid_syntax): move from
2568 * test/ruby/envutil.rb (assert_normal_exit): validate syntax before
2569 running because this assertion passes even if the code fails by
2572 Thu Dec 20 10:29:58 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
2574 * test/openssl/test_pkey_dh.rb: revert special treatment of
2575 FIPS-capable installations since FIPS mode is now disabled for the
2578 Thu Dec 20 10:23:12 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
2580 * ext/openssl/ossl.c: add OpenSSL.fips_mode= to allow enabling FIPS
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
2587 [Feature #6946] [ruby-core:47345]
2589 Thu Dec 20 06:59:52 2012 Koichi Sasada <ko1@atdot.net>
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).
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]
2619 * vm_core.h (rb_vm_t::default_params): add to record above settings.
2621 * vm.c (RubyVM::DEFAULT_PARAMS): add new constant to see
2624 * thread_pthread.c: support RUBY_THREAD_MACHINE_STACK_SIZE.
2626 * cont.c: support RUBY_FIBER_(VM|MACHINE)_STACK_SIZE.
2628 * test/ruby/test_fiber.rb: add tests for above.
2630 * test/ruby/test_thread.rb: ditto.
2632 Thu Dec 20 06:25:44 2012 Koichi Sasada <ko1@atdot.net>
2634 * test/ruby/test_fiber.rb: remove a strange single quote character.
2635 With this character, this script exits by SyntaxError.
2637 Thu Dec 20 01:03:00 2012 Zachary Scott <zachary@zacharyscott>
2639 * ext/.document: Add missing ext modules to .document
2640 Patch by Ryunosuke SATO [Fixes Github #224]
2642 Wed Dec 19 23:52:16 2012 NAKAMURA Usaku <usa@ruby-lang.org>
2644 * ruby.c (load_file_internal): use original C string as the filename
2646 reported by whiteleaf at [ruby-list:49085] [ruby-dev:46738]
2649 Wed Dec 19 23:36:12 2012 Naohisa Goto <ngotogenome@gmail.com>
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]
2656 Wed Dec 19 19:34:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
2658 * object.c (rb_mod_const_get): nul byte is invalid as constant name.
2660 Wed Dec 19 17:54:18 2012 Masaya Tarui <tarui@ruby-lang.org>
2662 * vm_trace.c (rb_threadptr_exec_event_hooks): get rid of race
2663 condition. [Bug #7589] [ruby-dev:46763]
2665 Wed Dec 19 16:30:28 2012 Eric Hodel <drbrain@segment7.net>
2667 * doc/syntax/literals.rdoc: Added 0d decimal format. Thanks Nobu!
2669 Wed Dec 19 16:19:36 2012 Eric Hodel <drbrain@segment7.net>
2671 * doc/syntax/methods.rdoc: Fixed typo. Thanks to Josh Susser.
2673 Wed Dec 19 16:18:22 2012 Eric Hodel <drbrain@segment7.net>
2675 * lib/rubygems/commands/query_command.rb: Refactored to improve
2677 * test/rubygems/test_gem_commands_query_command.rb: Note default gems
2678 in gem list details.
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.
2689 Wed Dec 19 15:23:50 2012 Eric Hodel <drbrain@segment7.net>
2691 * doc/syntax/methods.rdoc: Add () around keyword arguments example for
2692 consistency. Thanks to Josh Susser.
2694 Wed Dec 19 01:51:24 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
2696 * vm.c (rb_vm_jump_tag_but_local_jump): remove unnecessary 2nd
2699 * load.c (rb_load_internal): ditto.
2701 * eval_intern.h (rb_vm_jump_tag_but_local_jump): ditto.
2703 Tue Dec 18 18:57:58 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
2705 * io.c (rb_io_wait_writable): don't use rb_thread_wait_fd()
2706 because it is for waiting until io readable.
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
2711 * io.c (rb_io_wait_readable): ditto. always use rb_thread_wait_fd().
2713 Tue Dec 18 18:55:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
2715 * thread.c (rb_thread_wait_fd_rw): fix infinite loop bug.
2716 rb_wait_for_single_fd() never return positive number.
2718 Tue Dec 18 17:24:40 2012 Eric Hodel <drbrain@segment7.net>
2720 * lib/rdoc/encoding.rb: Do not remove #! line from document when
2721 setting encoding. This allows ruby executables to be parsed as ruby
2723 * test/rdoc/test_rdoc_encoding.rb: Test for above.
2725 * lib/rdoc/parser.rb: Set the parser file name of ruby executables
2727 * test/rdoc/test_rdoc_parser.rb: Test for above.
2729 Tue Dec 18 16:46:15 2012 Eric Hodel <drbrain@segment7.net>
2731 * doc/syntax/literals.rdoc: Used simplified heredoc example that
2732 doesn't include method definition. Added heredoc with backticks.
2734 Tue Dec 18 16:38:51 2012 Eric Hodel <drbrain@segment7.net>
2736 * lib/rdoc/store.rb: Work around RDoc stores from older versions of
2738 * test/rdoc/test_rdoc_store.rb: Test for above.
2740 Tue Dec 18 16:31:20 2012 Eric Hodel <drbrain@segment7.net>
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.
2748 Tue Dec 18 09:45:14 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
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]
2754 * test/ruby/test_fiber.rb (test_fatal_in_fiber): add a test for above.
2756 * ext/-test-/fatal/extconf.rb, ext/-test-/fatal/rb_fatal.c: ditto.
2758 Tue Dec 18 13:17:00 2012 Zachary Scott <zachary@zacharyscott.net>
2760 * vm_trace.c (tracepoint_attr_defined_class): Clean up rdoc for
2761 TracePoint#defined_class
2763 Tue Dec 18 12:15:59 2012 Eric Hodel <drbrain@segment7.net>
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]
2770 Tue Dec 18 11:45:26 2012 Eric Hodel <drbrain@segment7.net>
2772 * doc/syntax/literals.rdoc: Added 0o octal integers.
2774 Tue Dec 18 12:28:52 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
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]
2780 Tue Dec 18 11:52:34 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
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]
2788 * test/openssl/test_ssl.rb: Adapt tests to new SSLContext default.
2790 * NEWS: Announce the new default.
2792 Tue Dec 18 06:36:12 2012 Koichi Sasada <ko1@atdot.net>
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.
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
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.
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!)
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.
2833 * proc.c (rb_method_entry_arity): ditto.
2835 * vm_eval.c, vm_insnhelper.c, vm_method.c: ditto.
2837 Tue Dec 18 04:58:22 2012 Koichi Sasada <ko1@atdot.net>
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
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.
2852 * test/ruby/test_settracefunc.rb: change a test to catch up
2855 Tue Dec 18 03:03:10 2012 Aaron Patterson <aaron@tenderlovemaking.com>
2857 * ext/psych/lib/psych/visitors/to_ruby.rb: speed up node mapping so
2858 common cases are evaluated first. Thanks Kevin Menard!
2860 Tue Dec 18 02:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
2862 * lib/optparse.rb: Remove 'developer documentation' section from rdoc
2863 Patch by Marcus Stollsteimer [ruby-core:50526][Bug #7504]
2865 Tue Dec 18 02:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
2867 * lib/matrix.rb (#lup): typo in example [ruby-core:50946][Bug #7582]
2869 Mon Dec 17 18:03:34 2012 Charlie Somerville <charlie@charliesomerville.com>
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
2876 Mon Dec 17 13:56:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
2882 Mon Dec 17 12:05:32 2012 Eric Hodel <drbrain@segment7.net>
2884 * doc/syntax/methods.rdoc: Added a description of singleton methods.
2886 Mon Dec 17 11:35:57 2012 Eric Hodel <drbrain@segment7.net>
2888 * doc/.document: Added doc/syntax
2890 Mon Dec 17 11:25:32 2012 Eric Hodel <drbrain@segment7.net>
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
2897 Mon Dec 17 07:59:40 2012 Eric Hodel <drbrain@segment7.net>
2899 * lib/rubygems.rb: Updated VERSION
2901 * test/rubygems/test_gem_installer.rb: Fixed ambiguous first argument
2904 * test/rubygems/test_gem_rdoc.rb: RDoc generation depends on installed
2907 Sun Dec 16 02:04:41 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
2909 * signal.c (rb_sigaltstack_size): cast sysconf() return value
2910 explicitly. Fix compile error on Mac OS X.
2912 Sun Dec 16 00:39:43 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
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]
2918 * test/ruby/test_fiber.rb (test_exit_in_fiber): add test for it.
2920 Sat Dec 15 23:56:51 2012 Naohisa Goto <ngotogenome@gmail.com>
2922 * ext/fiddle/pointer.c (rb_fiddle_ptr2cptr): fix error message
2923 forgotten to be changed from DL to Fiddle.
2925 Sat Dec 15 23:14:32 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
2927 * signal.c (default_handler): remove rb_register_sigaltstack()
2928 call. sigaltstack was already registered when creating threads.
2930 Sat Dec 15 23:08:56 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
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.
2944 Sat Dec 15 18:24:21 2012 Tadayoshi Funaba <tadf@dotrb.org>
2946 * rational.c (f_round_common): should check overflow.
2948 Sat Dec 15 18:00:00 2012 Tadayoshi Funaba <tadf@dotrb.org>
2950 * rational.c (float_rationalize): reduced.
2952 Sat Dec 15 14:18:44 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
2954 * io.c (finish_writeconv): uses rb_write_internal2 if
2955 fptr->write_lock have.
2957 Sat Dec 15 13:57:08 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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
2965 Sat Dec 15 13:38:30 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
2975 Sat Dec 15 13:04:26 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
2983 Sat Dec 15 12:55:29 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
2985 * io.c (rb_io_wait_writable): add to call rb_thread_wait_fd()
2986 likes rb_io_wait_readable.
2988 Sat Dec 15 11:54:50 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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
2994 Sat Dec 15 11:53:36 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
2996 * thread.c (rb_thread_wait_fd_rw): remove silly rb_thread_alone()
2999 Sat Dec 15 10:22:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3001 * thread.c (rb_thread_polling): revert but deprecate.
3003 * include/ruby/intern.h (rb_thread_polling): deprecate.
3005 Sat Dec 15 08:37:01 2012 Masaya Tarui <tarui@ruby-lang.org>
3007 * test/rubygems/test_gem_ext_cmake_builder.rb (test_self_build):
3008 get rid of false positive.
3010 Sat Dec 15 08:05:56 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
3020 * test/ruby/test_thread.rb (test_thread_status_raise_after_kill):
3023 * test/ruby/test_threadgroup.rb: new file. moved ThreadGroup test
3024 from test_thread.rb.
3026 Sat Dec 15 08:02:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
3032 Sat Dec 15 06:15:14 2012 Eric Hodel <drbrain@segment7.net>
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]
3038 Sat Dec 15 03:42:34 2012 Naohisa Goto <ngotogenome@gmail.com>
3040 * ext/.document: add fiddle/pointer.c, fiddle/handle.c, and
3041 fiddle/win32/lib as documentation.
3043 Sat Dec 15 03:06:40 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
3050 Sat Dec 15 00:03:31 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
3061 Fri Dec 14 17:10:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3063 * parse.y (parser_params): parser_tokline to track the line number at
3064 which token started. [ruby-dev:46737] [Bug #7559]
3066 * parse.y (fcall): operation with starting line number.
3068 * parse.y (command, primary, method_call): point method name line.
3070 * parse.y (gettable_gen): return token line for __LINE__.
3072 Fri Dec 14 16:56:59 2012 Shugo Maeda <shugo@ruby-lang.org>
3074 * vm_insnhelper.c (vm_call_super_method): remove volatile introduced
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]
3081 Fri Dec 14 14:59:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3083 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):
3084 take file and line by using caller_locations if not given.
3086 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):
3087 count assertions in separated tests.
3089 Fri Dec 14 14:16:42 2012 Eric Hodel <drbrain@segment7.net>
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.
3097 * lib/rdoc/store.rb: Removed useless variable assignment
3099 Fri Dec 14 13:58:40 2012 Eric Hodel <drbrain@segment7.net>
3101 * lib/rubygems/commands/rdoc_command.rb: When overwriting
3102 documentation, remove existing documentation first.
3104 * lib/rubygems/server.rb: Fixed documentation links.
3105 * test/rubygems/test_gem_server.rb: Test for the above.
3107 * lib/rubygems/rdoc.rb: Reduced diff with RDoc::RubyGemsHook
3108 * test/rubygems/test_gem_rdoc.rb: ditto
3110 Fri Dec 14 04:08:05 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
3116 Fri Dec 14 07:43:44 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
3122 Thu Dec 13 23:14:17 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
3128 Thu Dec 13 23:10:52 Charlie Somerville <charlie@charliesomerville.com>
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
3137 Thu Dec 13 16:53:10 2012 Eric Hodel <drbrain@segment7.net>
3139 * lib/rdoc/class_module.rb: Fixed duplicate comments for classes and
3141 * test/rdoc/test_rdoc_class_module.rb: Test for the above.
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.
3150 Thu Dec 13 14:20:00 2012 Zachary Scott <zachary@zacharyscott.net>
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
3156 Thu Dec 13 14:10:00 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
3162 * test/ruby/test_marshal.rb: related test.
3164 Thu Dec 13 14:10:13 2012 NAKAMURA Usaku <usa@ruby-lang.org>
3166 * test/ruby/test_require.rb (TestRequire#test_loaded_features_encoding):
3167 need to check compatibility, not equality of encodings.
3169 Thu Dec 13 14:02:15 2012 NAKAMURA Usaku <usa@ruby-lang.org>
3171 * file.c (rb_file_join): check encoding compatibility before joining
3174 Thu Dec 13 13:06:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3176 * proc.c (umethod_bind): allow another form of method transplanting
3177 from a module via UnboundMethod. [ruby-core:34267][Feature #4254]
3179 Thu Dec 13 12:07:25 2012 Shugo Maeda <shugo@ruby-lang.org>
3181 * include/ruby/ruby.h (RB_UNUSED_VAR): new macro to suppress
3182 warnings for unused variables.
3184 * ext/bigdecimal/bigdecimal.c (ENTER): use RB_UNUSED_VAR() to
3185 suppress annoying warnings by -Wunused-but-set-variable in gcc 4.6.
3187 Thu Dec 13 11:22:33 2012 Koichi Sasada <ko1@atdot.net>
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.
3192 * proc.c (rb_method_entry_arity): ditto.
3194 * vm_eval.c (vm_call0_body): ditto.
3196 * vm_insnhelper.c (vm_call_method): ditto.
3198 Wed Dec 12 21:40:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
3204 Wed Dec 12 19:48:59 2012 NARUSE, Yui <naruse@ruby-lang.org>
3206 * ext/json: merge JSON 1.7.5.
3207 fix tests and other fixes.
3209 Wed Dec 12 18:30:29 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
3215 * test/ruby/test_refinement.rb: related test.
3217 Wed Dec 12 18:27:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3219 * time.c (zone_str): lookup or insert by using st_update() at once.
3221 Wed Dec 12 15:30:11 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
3227 * vm_dump.c: enable backtrace on FreeBSD even if with optimizations.
3229 Wed Dec 12 16:08:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3231 * test/rdoc/test_rdoc_rdoc.rb (TestRDocRDoc#test_normalized_file_list_non_file_directory):
3232 use File::NULL for portability if possible.
3234 Wed Dec 12 16:07:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3236 * method.h (rb_method_flag_t): name a magic number for NOEX_SAFE and
3237 NOEX_WITH as NOEX_SAFE_SHIFT_OFFSET.
3239 * method.h (rb_method_type_t, method_optimized_type): C89 forbids a
3240 comma after the last element in enum.
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.
3245 Wed Dec 12 14:16:35 2012 Eric Hodel <drbrain@segment7.net>
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.
3251 * lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml:
3252 Fix display of the table of contents in the sidebar.
3254 * lib/rdoc/generator/template/darkfish/table_of_contents.rhtml:
3255 Use #comment_location when displaying classes or modules.
3257 * test/rdoc/test_rdoc_store.rb: Use comment_location.
3259 Wed Dec 12 13:40:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3261 * vm_insnhelper.c (vm_getivar): no uninitialized instance variables
3262 warnings for non-object if attr method.
3264 Wed Dec 12 06:43:37 2012 Benoit Daloze <eregontp@gmail.com>
3266 * iseq.c (rb_iseq_parameters): fix limit for optional arguments.
3268 * test/ruby/test_keyword.rb: tests for above.
3270 * vm_core.h (struct rb_iseq_struct): update documentation
3271 with keyword arguments. [Bug #7540] [ruby-core:50735]
3273 Wed Dec 12 03:45:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3275 * vm.c (vm_exec): pass exceptions while handling an exception.
3277 * vm_trace.c (rb_threadptr_exec_event_hooks): propagate exceptions.
3278 revert r38293 partially.
3280 Wed Dec 12 03:09:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3282 * sample/test.rb (Progress#initialize): add --verbose option and show
3283 messages in one line unless --verbose is given.
3285 Wed Dec 12 01:47:02 2012 Shugo Maeda <shugo@ruby-lang.org>
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
3293 * test/ruby/test_refinement.rb: related test.
3295 Wed Dec 12 01:05:04 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
3301 Wed Dec 12 00:32:11 2012 Naohisa Goto <ngotogenome@gmail.com>
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
3308 Wed Dec 12 00:13:34 2012 Naohisa Goto <ngotogenome@gmail.com>
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.
3314 Tue Dec 11 19:38:37 2012 Naohisa Goto <ngotogenome@gmail.com>
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.
3324 Tue Dec 11 16:57:33 2012 Eric Hodel <drbrain@segment7.net>
3326 * common.mk: Added --pages-dir to rdoc creation. Now doc/ items show
3328 * .document: Moved doc/* entries to doc/.document
3329 * doc/.document: ditto
3331 Tue Dec 11 16:44:37 2012 Eric Hodel <drbrain@segment7.net>
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.
3339 Tue Dec 11 15:24:05 2012 Eric Hodel <drbrain@segment7.net>
3341 * ext/pathname/lib/pathname.rb: Hide private methods from RDoc.
3343 Tue Dec 11 15:11:29 2012 NARUSE, Yui <naruse@ruby-lang.org>
3345 * tool/make-snapshot (BASERUBY): add --disable-gem to avoid load gems.
3346 [Bug #7541] [ruby-core:50736]
3348 Tue Dec 11 12:00:19 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
3354 Tue Dec 11 01:53:37 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
3356 * lib/matrix: alias {row|column}_size to {row|column}_count and use
3358 [Bug #7369] [ruby-core:49409]
3360 Tue Dec 11 00:26:58 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
3366 * include/ruby/ruby.h (RMODULE_INCLUDED_INTO_REFINEMENT): new flag
3367 to represent that a module (iclass) is included into a refinement.
3369 * class.c (include_modules_at): set RMODULE_INCLUDED_INTO_REFINEMENT
3370 if klass is a refinement.
3372 * eval.c (rb_mod_refine): set the superclass of a refinement to the
3373 refined class for super.
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.
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
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).
3399 * test/ruby/test_refinement.rb: related test.
3401 Mon Dec 10 18:35:25 2012 Shugo Maeda <shugo@ruby-lang.org>
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".
3408 * test/ruby/test_refinement.rb: related test.
3410 Mon Dec 10 17:59:07 2012 NAKAMURA Usaku <usa@ruby-lang.org>
3412 * ext/fiddle/win32/*: library ports from DL to Fiddle.
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.
3418 Mon Dec 10 15:23:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3420 * vm_trace.c (rb_threadptr_exec_event_hooks): exceptions in event
3421 hooks should not propagate outside.
3423 Mon Dec 10 15:11:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
3429 * vm_insnhelper.c (lep_svar_get, lep_svar_set, vm_getspecial): store
3430 flip-flop states in an array instead of a hash.
3432 * iseq.c (set_relation): main iseq also can has local scope.
3434 Mon Dec 10 10:36:12 2012 Narihiro Nakamura <authornari@gmail.com>
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]
3440 Mon Dec 10 09:40:19 2012 Eric Hodel <drbrain@segment7.net>
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.
3447 Mon Dec 10 09:13:08 2012 Eric Hodel <drbrain@segment7.net>
3449 * lib/rubygems/package.rb: Omit directories when packaging gems like
3451 * test/rubygems/test_gem_package.rb: Test for above.
3453 Sun Dec 9 17:36:59 2012 Shugo Maeda <shugo@ruby-lang.org>
3455 * vm_insnhelper.c (vm_call_opt_send): Kernel#send should not use
3458 * proc.c (mnew): Kernel#method, Kernel#public_method,
3459 Module#instance_method, and Module#public_instance_method should
3460 not use refinements.
3462 * vm_method.c (rb_method_boundp): Kernel#respond_to? should not use
3465 * test/ruby/test_refinement.rb: related test.
3467 Sun Dec 9 06:19:04 2012 Eric Hodel <drbrain@segment7.net>
3469 * lib/rdoc/markdown/entities.rb: Added documentation.
3471 * lib/rdoc/parser/ruby.rb: Updated style
3473 * lib/rdoc/ruby_lex.rb: Parse characters up to \u{FFFFF}
3474 * test/rdoc/test_rdoc_ruby_lex.rb: Test for above.
3476 Sat Dec 8 22:38:35 2012 Shugo Maeda <shugo@ruby-lang.org>
3478 * eval.c (rb_mod_refine): don't override Module#include. It's
3479 unnecessary now because refinements are activated only in refine
3482 Sat Dec 8 22:33:26 2012 Shugo Maeda <shugo@ruby-lang.org>
3484 * eval.c: remove Module#refinements.
3486 * test/ruby/test_refinement.rb: remove tests for Module#refinements.
3488 Sat Dec 8 13:17:55 2012 Shugo Maeda <shugo@ruby-lang.org>
3490 * eval.c (top_using): raise a RuntimeError if using is called in a
3491 module definition or a method definition.
3493 * test/ruby/test_refinement.rb: related test.
3495 Sat Dec 8 15:01:35 2012 Eric Hodel <drbrain@segment7.net>
3497 * lib/rubygems/commands/cleanup_command.rb: Skip default gems when
3499 * test/rubygems/test_gem_commands_cleanup_command.rb: Test for above.
3501 * lib/rubygems/commands/query_command.rb: Fixed listing remote gems.
3503 * lib/rubygems/dependency_installer.rb: Ignore non-files when looking
3505 * test/rubygems/test_gem_dependency_installer.rb: Test for above.
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.
3511 * lib/rubygems.rb (module Gem): Updated version.
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.
3517 Sat Dec 8 12:34:01 2012 Shugo Maeda <shugo@ruby-lang.org>
3519 * vm_insnhelper.c (vm_search_normal_superclass): super in a
3520 refinement always uses the refined class as its superclass.
3522 * test/ruby/test_refinement.rb: related test.
3524 Sat Dec 8 11:59:59 2012 Shugo Maeda <shugo@ruby-lang.org>
3526 * eval.c (rb_mod_refine): raise an ArgumentError if a given
3527 block is of a Proc object.
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.
3533 * test/ruby/test_refinement.rb: related test.
3535 Sat Dec 8 11:17:53 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
3541 * string.c (sym_to_proc, sym_call): don't use refinements.
3543 * test/ruby/test_refinement.rb: related test.
3545 Sat Dec 8 09:24:42 2012 Eric Hodel <drbrain@segment7.net>
3547 * ext/openssl/ossl_x509name.c: Completed documentation for
3548 OpenSSL::X509::Name.
3550 Sat Dec 8 07:57:12 2012 Koichi Sasada <ko1@atdot.net>
3552 * ext/objspace/objspace.c (iow_size): return size of internal object
3553 for ObjectSpace.memsize_of().
3555 * test/objspace/test_objspace.rb: add a test.
3557 Tue Dec 08 02:39:23 2012 James Edward Gray II <james@graysoftinc.com>
3559 * lib/csv.rb: A fix for row comparison by Stephen Wattam. [Bug #7528]
3561 Sat Dec 8 01:27:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3563 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): no need to
3566 Sat Dec 8 00:10:34 2012 Shugo Maeda <shugo@ruby-lang.org>
3568 * vm_eval.c (yield_under, eval_under): do not activate refinements
3569 of the receiver in module_eval and instance_eval.
3571 * eval.c (ruby_Init_refinement): undef Class#refine.
3573 * eval.c (ruby_Init_refinement): remove Module#using.
3575 * eval.c (ruby_Init_refinement): main.using should be private.
3577 * eval.c (rb_mod_refine): the argument of Module#refine should not
3580 * insns.def (defineclass): do not activate refinements in a class or
3583 Fri Dec 7 23:42:11 2012 Shugo Maeda <shugo@ruby-lang.org>
3585 * ext/refinement/refinement.c: include ruby/ruby.h instead of the
3586 declaration of rb_warn().
3588 Fri Dec 7 16:07:00 2012 Zachary Scott <zachary@zacharyscott.net>
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
3594 Fri Dec 7 16:00:57 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
3600 Fri Dec 7 14:22:29 2012 Eric Hodel <drbrain@segment7.net>
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
3608 * lib/rdoc/store.rb: Improved HTML error page. Completed
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
3614 * test/rdoc/test_rdoc_comment.rb: Removed garbage
3616 Fri Dec 7 14:03:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
3622 Fri Dec 7 13:07:00 2012 Zachary Scott <zachary@zacharyscott.net>
3624 * doc/forwardable.rd: Remove stale documentation file
3625 * lib/forwardable.rb: Merge documentation from doc/forwardable.rd
3627 Fri Dec 7 09:47:35 2012 NARUSE, Yui <naruse@ruby-lang.org>
3629 * time.c (time_mdump): dump timezone string to private instance variable
3632 * time.c (time_mload): load timezone string from private instance
3633 variable named 'zone'.
3635 Fri Dec 7 01:15:07 2012 Naohisa Goto <ngotogenome@gmail.com>
3637 * ext/fiddle/lib/fiddle/function.rb (Fiddle::Function#name): new
3638 attribute needed to switch Win32::Registry from DL to Fiddle.
3640 * ext/fiddle/lib/fiddle/import.rb (import_function, bind_function):
3641 set function name to the returned Fiddle::Function object.
3643 Fri Dec 7 00:11:44 2012 Shugo Maeda <shugo@ruby-lang.org>
3645 * test/ruby/test_refinement.rb: fix some tests to use neither
3646 Module#using nor Module#module_eval.
3648 Thu Dec 6 23:27:50 2012 Shugo Maeda <shugo@ruby-lang.org>
3650 * eval.c (ruby_Init_refinement): a new function to enable
3651 Refinements with a warning "Refinements are experimental...".
3653 * ext/refinement/refinement.c, ext/refinement/extconf.rb: a new
3654 extension library to enable Refinements.
3656 Thu Dec 6 18:23:05 2012 Shugo Maeda <shugo@ruby-lang.org>
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().
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.
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.
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
3686 * class.c (include_modules_at): add a refined method entry for each
3687 method defined in a module included in a refinement.
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.
3693 * proc.c (mnew): use rb_method_entry_with_refinements() to get
3696 * vm.c (rb_thread_mark): mark cfp->klass for iclasses created by
3697 copy_refinement_iclass().
3699 * vm.c (Init_VM), cont.c (fiber_init): initialize th->cfp->klass.
3701 * test/ruby/test_refinement.rb (test_inline_method_cache): do not skip
3702 the test because it should pass successfully.
3704 * test/ruby/test_refinement.rb (test_redefine_refined_method): new
3705 test for the case a refined method is redefined.
3707 Thu Dec 6 17:29:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3709 * parse.y (parser_here_document): flush string content between new
3710 line and :string_embexpr. [ruby-core:48703] [Bug #7255]
3712 Thu Dec 6 16:35:21 2012 Eric Hodel <drbrain@segment7.net>
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
3719 Thu Dec 6 15:20:34 2012 Eric Hodel <drbrain@segment7.net>
3721 * lib/rdoc/context.rb: Don't warn for duplicate methods while loading.
3722 * test/rdoc/test_rdoc_context.rb: Test for above.
3724 Thu Dec 6 14:26:22 2012 Eric Hodel <drbrain@segment7.net>
3726 * lib/rubygems/command_manager.rb: Removed string concatenation
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
3739 Thu Dec 6 14:10:08 2012 Eric Hodel <drbrain@segment7.net>
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.
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
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.
3755 * lib/rubygems.rb: Untaint Dir.pwd when searching for gemdeps files
3756 for operation under $SAFE=1
3758 Thu Dec 06 12:07:11 2012 Koichi Sasada <ko1@atdot.net>
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]
3764 * test/ruby/test_settracefunc.rb: add tests.
3766 Thu Dec 6 07:19:58 2012 Eric Hodel <drbrain@segment7.net>
3768 * lib/rdoc*: Improved display of ChangeLog files as HTML.
3769 * test/rdoc*: Test for above.
3771 Thu Dec 6 04:34:19 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
3773 * thread.c (rb_uninterruptible): helper function for providing
3774 temporary async_interrupt_timing(Object => :defer)
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.
3780 * test/ruby/test_thread.rb (test_async_interrupt_and_p): test for
3783 Thu Dec 6 04:27:10 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
3785 * io.c (io_binwrite): check interrupt before io issue.
3786 * test/ruby/test_thread.rb (test_async_interrupt_and_io):
3789 Thu Dec 6 01:10:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3791 * vm_eval.c (rb_method_call_status): use Qundef as no self instead of
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]
3798 Wed Dec 5 23:50:23 2012 Narihiro Nakamura <authornari@gmail.com>
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.
3805 Wed Dec 5 22:46:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
3810 Wed Dec 5 22:13:57 2012 Naohisa Goto <ngotogenome@gmail.com>
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]
3816 * test/dl/test_func.rb (test_bind): test for the above
3818 Wed Dec 5 18:53:00 2012 Masaya Tarui <tarui@ruby-lang.org>
3820 * thread.c (rb_thread_s_async_interrupt_timing): have to check ints
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.
3827 Wed Dec 5 16:54:28 2012 Koichi Sasada <ko1@atdot.net>
3829 * test/ruby/memory_status.rb: suppress warning.
3830 A patch from NAKAMURA Usaku.
3832 Wed Dec 5 16:06:54 2012 Eric Hodel <drbrain@segment7.net>
3834 * lib/rdoc/parser/changelog.rb: Parse more ChangeLog file variations.
3835 * test/rdoc/test_rdoc_parser_changelog.rb: Test for above.
3837 Wed Dec 5 12:17:11 2012 Naohisa Goto <ngotogenome@gmail.com>
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]
3844 * ext/dl/lib/dl/import.rb (DL::Importer#bind_function): should respect
3845 abi and name when Fiddle is used.
3847 * test/dl/test_func.rb (test_name_with_block): test for "name" method
3848 with giving a block.
3850 Wed Dec 5 11:55:00 2012 Zachary Scott <zachary@zacharyscott.net>
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*
3855 Wed Dec 5 11:42:38 2012 Koichi Sasada <ko1@atdot.net>
3857 * test/ruby/test_settracefunc.rb: disable trace.
3859 Wed Dec 5 11:37:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3861 * lib/mkmf.rb (MakeMakefile#macro_defined?): use clearly different
3862 strings from conflict markers.
3864 Wed Dec 5 04:25:00 2012 Zachary Scott <zachary@zacharyscott.net>
3866 * lib/README: Add rdoc modeline directive and formatting libs
3868 Wed Dec 5 04:04:02 2012 Masaya Tarui <tarui@ruby-lang.org>
3870 * test/ruby/test_thread.rb (test_async_interrupt_blocking): bugfix
3871 about deferred check
3873 Wed Dec 5 03:35:37 2012 Masaya Tarui <tarui@ruby-lang.org>
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.
3881 Wed Dec 5 02:36:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3883 * common.mk, defs/id.def, template/id.c.tmpl: generate id.c as well as id.h.
3885 Wed Dec 5 00:56:21 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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):
3891 * NEWS: new for the above.
3893 Wed Dec 5 00:05:47 2012 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
3895 * lib/erb.rb (make_compiler, add_put_cmd, add_insert_cmd): extract
3898 Tue Dec 4 18:21:04 2012 Naohisa Goto <ngotogenome@gmail.com>
3900 * test/ruby/memory_status.rb (Memory): use fiddle/types if available.
3902 * test/ruby/memory_status.rb (Memory::Win32): :stdcall is needed on
3903 x86 WIN32. This commit partly reverts r38054.
3905 Tue Dec 4 18:05:58 2012 Naohisa Goto <ngotogenome@gmail.com>
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.
3910 Tue Dec 4 17:57:09 2012 Naohisa Goto <ngotogenome@gmail.com>
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]
3916 Tue Dec 4 16:54:00 2012 Eric Hodel <drbrain@segment7.net>
3918 * .document: Added ChangeLog and doc/ChangeLog-* as documentation
3920 Tue Dec 4 16:47:46 2012 Eric Hodel <drbrain@segment7.net>
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.
3926 Tue Dec 4 16:23:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3928 * marshal.c (path2class, path2module): use PRIsVALUE.
3930 * marshal.c (w_object, marshal_dump, marshal_load): use
3931 rb_check_funcall if possible.
3933 * marshal.c (w_object, marshal_dump, r_object0, marshal_load): use
3934 RB_GC_GUARD() (directly or indirectly) instead of volatile.
3936 * variable.c (rb_path_to_class): prevent the argument from GC.
3938 Tue Dec 04 13:55:07 2012 Koichi Sasada <ko1@atdot.net>
3940 * vm_opts.h: enable optimization - operand unification.
3941 Operand unification technique enable to combine
3942 an instruction and specific operands and make new
3945 * defs/opt_operand.def: add several configuration
3946 of operand unification.
3948 * insns.def: use `int' instead to suppress warning.
3950 Mon Dec 3 17:58:53 2012 NARUSE, Yui <naruse@ruby-lang.org>
3952 * parse.y: replace parser->enc with current_enc.
3954 Tue Dec 4 08:33:46 2012 Eric Hodel <drbrain@segment7.net>
3956 * README.EXT: Converted to RDoc format
3957 * README.EXT.ja: ditto
3959 Tue Dec 4 08:32:10 2012 Eric Hodel <drbrain@segment7.net>
3961 * lib/rdoc/ri/driver.rb: Fixed ri page display for files with
3963 * test/rdoc/test_rdoc_ri_driver.rb: Test for above
3965 Tue Dec 4 04:11:50 2012 Eric Hodel <drbrain@segment7.net>
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
3974 Mon Dec 3 20:37:22 2012 Koichi Sasada <ko1@atdot.net>
3976 * vm_exec.c: check VM_COLLECT_USAGE_DETAILS.
3978 Mon Dec 3 20:28:02 2012 Koichi Sasada <ko1@atdot.net>
3980 * compile.c (iseq_specialized_instruction):
3981 change condition of using `opt_send_simple'.
3982 More method invocations can be simple.
3984 Mon Dec 3 20:03:38 2012 Koichi Sasada <ko1@atdot.net>
3986 * test/ruby/test_objectspace.rb: skip RuntimeError
3987 which says a message "can't modify frozen File".
3988 Is that correct behavior?
3990 Mon Dec 03 20:00:19 2012 Koichi Sasada <ko1@atdot.net>
3992 * vm_exec.c: vm_analysis_insn should be static.
3994 Mon Dec 3 19:10:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
3996 * random.c (Init_Random), rational.c (Init_Rational): make marshal
3997 methods private. [Feature #6539]
3999 Mon Dec 3 18:29:27 2012 Koichi Sasada <ko1@atdot.net>
4001 * iseq.h: iseq_catch_table_entry::catch_type should be
4002 Fixnum because they are pushed into Array in a compiler.
4005 * test/ruby/test_objectspace.rb: add a test of this issue.
4007 Mon Dec 3 18:25:16 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4009 * template/id.h.tmpl (preserved_ids): "empty?" is not an attribute name.
4011 Mon Dec 3 16:23:09 2012 Koichi Sasada <ko1@atdot.net>
4013 * vm_backtrace.c (vm_backtrace_to_ary): check negative size (2nd arg).
4015 Mon Dec 3 15:50:33 2012 Akinori MUSHA <knu@iDaemons.org>
4017 * misc/ruby-additional.el (ruby-mode-set-encoding): Unbreak by
4018 fixing a typo, s/set/setq/.
4020 Mon Dec 3 14:14:19 2012 Koichi Sasada <ko1@atdot.net>
4022 * compile.c (iseq_compile_each): joke shouldn't use id.h defined ids.
4024 * id.c (Init_id): ditto.
4026 * common.mk: fix dependency.
4028 Mon Dec 3 12:43:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4030 * misc/ruby-mode.el (ruby-block-end-re, ruby-delimiter)
4031 (ruby-mode-syntax-table, ruby-parse-partial, ruby-beginning-of-indent):
4034 * misc/ruby-mode.el (ruby-calculate-indent): fix indentation of
4035 argument lines in parentheses. [Bug #5140]
4037 Mon Dec 3 07:52:41 2012 Eric Hodel <drbrain@segment7.net>
4039 * lib/rdoc/parser.rb: Improved modeline support. Patch by nobu.
4040 * test/rdoc/test_rdoc_parser.rb: Test for above.
4042 Sun Dec 3 00:06:00 2012 Kenta Murata <mrkn@mrkn.jp>
4044 * ext/bigdecimal/bigdecimal.c (BigDecimal_new): stop checking string
4045 taintness. [Bug #5508] [ruby-core:40510]
4047 Sun Dec 2 19:26:47 2012 Masaya Tarui <tarui@ruby-lang.org>
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.
4053 Sun Dec 2 18:46:24 2012 Koichi Sasada <ko1@atdot.net>
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).
4060 * common.mk: add dependency to id.h.
4062 * common.mk: replace ID_H_INCLUDES with id.h.
4064 Sun Dec 2 16:48:00 2012 Zachary Scott <zachary@zacharyscott.net>
4066 * lib/weakref.rb (rdoc): Clean up usage, add example,
4067 note ArgumentError on WeakRef.new
4069 Sun Dec 2 16:45:00 2012 Zachary Scott <zachary@zacharyscott.net>
4071 * gc.c (WeakMap): Add doc for internal reference, use lib/weakref.rb
4073 Sun Dec 2 07:24:23 2012 Eric Hodel <drbrain@segment7.net>
4075 * lib/rdoc/parser.rb: Parse files with a -*- rdoc -*- modeline
4076 * test/rdoc/test_rdoc_parser.rb: Test for above
4078 Sun Dec 2 06:02:00 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
4080 * gc.h (SET_MACHINE_STACK_END): add volatile for preventing
4081 harmful optimization. [ruby-dev:46665] [Bug #7468]
4083 Sun Dec 2 05:01:58 2012 Koichi Sasada <ko1@atdot.net>
4085 * iseq.c (rb_iseq_line_trace_each): iterate `line' event only.
4087 * test/ruby/test_iseq.rb: add a test for this change.
4089 Sun Dec 2 02:46:04 2012 Koichi Sasada <ko1@atdot.net>
4091 * vm_trace.c: add TracePoint#inspect.
4093 * test/ruby/test_settracefunc.rb: add a test for this change.
4095 Sat Dec 1 21:18:19 2012 Koichi Sasada <ko1@atdot.net>
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.
4102 Sat Dec 1 21:06:58 2012 Koichi Sasada <ko1@atdot.net>
4104 * vm_backtrace.c (location_inspect_m): add
4105 Thread::Backtrace::Location#inspect.
4106 It same as loc_obj.to_s.inspect.
4108 Sat Dec 1 19:24:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4110 * io.c (rb_io_puts): recurse for the argument itself, not converted
4111 array elements. [ruby-core:42444] [Bug #5986]
4113 Sat Dec 1 19:01:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4115 * marshal.c (w_object, r_object0): call private marshal methods.
4118 Sat Dec 1 18:52:22 2012 Eric Hodel <drbrain@segment7.net>
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
4125 Sat Dec 1 18:17:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4127 * complex.c (Init_Complex), time.c (Init_Time): make marshal methods
4128 private. [Feature #6539]
4130 * object.c (Init_Object): make remove_instance_variable public.
4133 * id.c (Init_id), template/id.h.tmpl: add initialize_{copy,clone,dup}
4134 and respond_to_missing?.
4136 * vm_method.c (rb_method_entry_make): make above methods private.
4139 Sat Dec 1 16:40:22 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
4147 Sat Dec 1 15:14:25 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
4149 * test/ruby/test_thread.rb (test_cv_wait_deadlock): enable
4152 Sat Dec 1 14:23:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
4154 * lib/thread.rb (ConditionVariable): use hash instead of array for
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
4160 Sat Dec 1 17:16:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4162 * misc/ruby-electric.el (ruby-electric-curlies): use kill-region
4163 instead of interactive command delete-backward-char.
4165 Sat Dec 1 17:12:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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].
4172 Sat Dec 1 15:05:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4174 * dir.c (glob_helper): use NAMLEN() to tell the length of d_name
4175 instead of strlen(), which can access beyond the boundary.
4177 Sat Dec 1 13:48:13 2012 Eric Hodel <drbrain@segment7.net>
4179 * lib/rubygems/specification.rb: Don't add default gems to $LOAD_PATH
4180 as they are already there.
4182 Sat Dec 1 12:22:17 2012 Kouhei Sutou <kou@cozmixng.org>
4184 * re-added r38053 that is reverted by r38061. Problems by r38053
4185 are resolved by r38096. r38096 removed GEM_SKIP configuration.
4187 The below is ChangeLog of r38053:
4189 * defs/default_gems: Add base directory column.
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
4197 Sat Dec 1 11:09:12 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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.
4203 * probes.d (cmethod-entry, cmethod-return): separate cmethods from
4204 regular methods to match set trace func.
4206 * probes_helper.h: refactor macros. Fix probes to avoid calling
4207 #inspect when profiling.
4209 * insns.def: update for use with new macros.
4213 * vm_insnhelper.c: ditto
4215 * test/dtrace/test_singleton_function.rb: fix test for new output.
4217 * test/dtrace/test_cmethod.rb: test the cmethod probes.
4219 Sat Dec 1 09:44:16 2012 Eric Hodel <drbrain@segment7.net>
4221 * test/rdoc/test_rdoc_options.rb: Windows drive letters are
4224 Sat Dec 1 09:42:13 2012 Eric Hodel <drbrain@segment7.net>
4226 * lib/rubygems.rb: Search for gem deps file up the directory tree.
4227 * test/rubygems/test_gem.rb: Test for above.
4229 Sat Dec 1 09:33:32 2012 Eric Hodel <drbrain@segment7.net>
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
4235 Sat Dec 1 07:16:17 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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
4240 [ruby-core:50258] [Bug #7456]
4242 Sat Dec 1 04:07:57 2012 NARUSE, Yui <naruse@ruby-lang.org>
4244 * parse.y (parser.utf8): remove unused property.
4246 * parse.y (UTF8_ENC): remove unused macro.
4248 * parse.y (parser_tokadd_utf8): use rb_utf8_encoding() directly.
4250 Sat Dec 1 03:49:45 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
4256 Sat Dec 1 03:38:04 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
4258 * lib/thread.rb (ConditionVariable#broadcast): s/RuntimeError/StandardError/
4259 * lib/thread.rb (ConditionVariable#signal): ditto.
4261 Sat Dec 1 03:29:52 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
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.
4275 Sat Dec 1 03:45:47 2012 Koichi Sasada <ko1@atdot.net>
4277 * thread.c (Thread.async_interrupt_timing): fix RDoc.
4278 :never is not used any more.
4280 Sat Dec 1 02:56:19 2012 Koichi Sasada <ko1@atdot.net>
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)
4291 * test/ruby/test_iseq.rb: add tests.
4293 Sat Dec 1 02:58:51 2012 Eric Hodel <drbrain@segment7.net>
4295 * include/ruby/ruby.h (rb_event_flag_t): Maintain integer precision
4296 for clang error (VALUE aka unsigned long vs unsigned int)
4298 Sat Dec 1 02:53:18 2012 Eric Hodel <drbrain@segment7.net>
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
4304 Sat Dec 1 02:33:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
4310 Sat Dec 1 02:11:47 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
4312 * thread.c (rb_threadptr_interrupt_mask): add argument check.
4313 * thread.c (async_interrupt_timing_arg_check_i): helper function
4315 * test/ruby/test_thread.rb (test_async_interrupt_timing_invalid_argument):
4318 Sat Dec 1 01:19:34 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
4325 Sat Dec 1 02:04:23 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
4327 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err):
4328 raise if assert_in_out_err misused.
4330 Sat Dec 1 02:08:16 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
4337 Sat Dec 1 01:51:06 2012 Koichi Sasada <ko1@atdot.net>
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
4347 * iseq.h: add decl. of C APIs.
4349 * test/ruby/test_iseq.rb: add tests.
4351 * vm_trace.c: add `specified_line' event.
4353 * include/ruby/ruby.h: ditto.
4355 Sat Dec 1 01:49:52 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
4361 Sat Dec 1 01:21:07 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
4368 * lib/rubygems/requirement.rb (Gem::Requirement::PATTERN_RAW): extract
4369 the regexp to match the version specifier from PATTERN to use in
4372 Sat Dec 1 00:48:19 2012 Naohisa Goto <ngotogenome@gmail.com>
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]
4378 Sat Dec 1 00:08:55 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
4386 Fri Nov 30 23:39:58 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
4394 Fri Nov 30 23:27:26 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
4400 Fri Nov 30 23:11:37 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
4407 Fri Nov 30 22:44:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
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]
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.
4422 Fri Nov 30 21:57:43 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
4428 Fri Nov 30 21:07:56 2012 NAKAMURA Usaku <usa@ruby-lang.org>
4430 * lib/test/unit/parallel.rb (Test::Unit::Worker.run): wrap LoadError
4431 because it's Gem::LoadError sometimes. see [Bug #6882]
4433 Fri Nov 30 20:47:44 2012 Koichi Sasada <ko1@atdot.net>
4435 * thread.c: TracePoint#self returns invoking/exiting thread object
4436 at thread_begin/end event.
4438 * test/ruby/test_settracefunc.rb: fix test.
4440 Fri Nov 30 19:55:17 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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]
4446 Fri Nov 30 19:37:44 2012 Kouhei Sutou <kou@cozmixng.org>
4448 * defs/default_gems: Add base directory column.
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
4456 Fri Nov 30 19:30:00 2012 Zachary Scott <zachary@zacharyscott.net>
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
4464 Fri Nov 30 18:52:56 2012 Koichi Sasada <ko1@atdot.net>
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).
4471 Fri Nov 30 18:23:26 2012 Koichi Sasada <ko1@atdot.net>
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]
4478 * thread.c: remove Thread.check_interrupt.
4479 This method is difficult to understand by name.
4481 * thread.c: add Thread.async_interrupted?.
4482 This method check any deferred async interrupts.
4484 * test/ruby/test_thread.rb: change tests for above.
4486 Fri Nov 30 18:24:00 2012 Zachary Scott <zachary@zacharyscott.net>
4488 * vm_trace.c: Documentation for TracePoint API
4489 [ruby-core:47243] [Feature #6895]
4491 Fri Nov 30 17:43:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
4496 * string.c (rb_str_cmp_m): use rb_check_funcall instead of respond_to
4499 * string.c (rb_str_cmp_m): return fixed value, one of -1,0,+1 always.
4501 Fri Nov 30 16:19:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
4507 Fri Nov 30 16:05:44 2012 Eric Hodel <drbrain@segment7.net>
4509 * NEWS: Added RubyGems 2.0.0
4511 Fri Nov 30 15:24:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4513 * parse.y (parser_yylex): fix false usage of local variable, it cannot
4514 appear in fname state [ruby-core:49659] [Bug #7408]
4516 Fri Nov 30 15:20:12 2012 Eric Hodel <drbrain@segment7.net>
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.
4522 Fri Nov 30 15:15:00 2012 Zachary Scott <zachary@zacharyscott.net>
4524 * vm_trace.c (set_trace_func): Formatting of params and events
4526 Fri Nov 30 14:45:00 2012 Zachary Scott <zachary@zacharyscott.net>
4528 * lib/net/http.rb: Net::HTTP::Patch to list of HTTP Request Classes
4529 Patch by Ryunosuke SATO [Fixes #217 on github]
4531 Fri Nov 30 14:05:00 2012 Zachary Scott <zachary@zacharyscott.net>
4533 * lib/cgi.rb: CGI example for HTML generation
4534 Patch by Marcus Stollsteimer [ruby-core:50303] [Bug #7465]
4536 Fri Nov 30 13:52:00 2012 Zachary Scott <zachary@zacharyscott.net>
4538 * time.c: Documentation improvements, grammar and formatting
4539 Patch by Bernd Homuth [ruby-core:49203] [Bug #7326]
4541 Fri Nov 30 13:48:33 2012 Eric Hodel <drbrain@segment7.net>
4543 * lib/rdoc.rb: Set version to 4.0.0.preview2
4544 * lib/rubygems.rb: Set version to 2.0.0.preview2
4546 Fri Nov 30 13:11:53 2012 Eric Hodel <drbrain@segment7.net>
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.
4552 Fri Nov 30 12:47:59 2012 Akinori MUSHA <knu@iDaemons.org>
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.
4558 * lib/abbrev.rb (Abbrev#abbrev): Stop using a regexp that causes a
4559 false warning. [Bug #7471]
4561 Fri Nov 30 12:30:55 2012 Akinori MUSHA <knu@iDaemons.org>
4563 * test/test_abbrev.rb: Add tests for lib/abbrev.rb.
4565 Fri Nov 30 12:27:51 2012 Eric Hodel <drbrain@segment7.net>
4567 * lib/rubygems/spec_fetcher.rb: Allow prerelease spec fetching to fail
4569 * test/rubygems/test_gem_spec_fetcher.rb: Test for above.
4571 Fri Nov 30 12:20:53 2012 Eric Hodel <drbrain@segment7.net>
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
4578 Fri Nov 30 11:07:45 2012 Shugo Maeda <shugo@ruby-lang.org>
4580 * revert r37993 to avoid SEGV in tests.
4582 Fri Nov 30 10:38:54 2012 Eric Hodel <drbrain@segment7.net>
4584 * lib/rdoc/ri/driver.rb: Relaxed matching for pages to be more
4586 * test/rdoc/test_rdoc_ri_driver.rb: Test for above.
4588 Fri Nov 30 09:50:16 2012 Eric Hodel <drbrain@segment7.net>
4590 * lib/rdoc/markdown.rb: Fixed warnings with -w
4592 Fri Nov 30 09:38:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4594 * include/ruby/ruby.h (RB_GC_GUARD_PTR): add note.
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.
4601 Fri Nov 30 09:22:52 2012 Eric Hodel <drbrain@segment7.net>
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.
4607 * lib/rubygems/defaults.rb: Use Gem.path_separator for jruby support.
4608 * lib/rubygems/path_support.rb: ditto
4610 Fri Nov 30 08:34:03 2012 Eric Hodel <drbrain@segment7.net>
4612 * lib/rdoc/generator/darkfish.rb: Silenced warning
4613 * test/rdoc/test_rdoc_rdoc.rb: ditto
4615 * lib/rdoc/markup/parser.rb: Use byteslice when available for
4617 * test/rdoc/test_rdoc_markup_parser.rb: Test for above
4618 * lib/rdoc/test_case.rb: ditto
4620 * lib/rdoc/parser/ruby.rb: Fixed bug parsing yield({})
4621 * test/rdoc/test_rdoc_parser_ruby.rb (end):
4623 * lib/rdoc/rubygems_hook.rb: Skip default gems. Display generator
4625 * test/rdoc/test_rdoc_rubygems_hook.rb: Test for above
4627 * lib/rdoc/servlet.rb: Fixed typo.
4629 Fri Nov 30 08:09:56 2012 Narihiro Nakamura <authornari@gmail.com>
4631 * gc.c : remove a unused function.
4633 Fri Nov 30 07:46:42 2012 Narihiro Nakamura <authornari@gmail.com>
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]
4639 * test/ruby/test_gc.rb (test_finalizing_main_thread): add a test
4642 Fri Nov 30 07:43:44 2012 Koichi Sasada <ko1@atdot.net>
4644 * thread.c (rb_thread_interrupted): avoid warning of
4645 implicit conversion.
4647 * thread.c (rb_threadptr_execute_interrupts): ditto.
4649 Fri Nov 30 07:34:28 2012 Koichi Sasada <ko1@atdot.net>
4651 * vm_backtrace.c: add GC guards.
4653 Fri Nov 30 07:21:33 2012 Koichi Sasada <ko1@atdot.net>
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.
4664 * include/ruby/ruby.h: ditto.
4666 * compile.c (rb_iseq_compile_node): ditto.
4674 * include/ruby/debug.h: add a comment.
4676 * test/ruby/test_settracefunc.rb: add a tests.
4678 Fri Nov 30 06:56:30 2012 Ryan Davis <ryand-ruby@zenspider.com>
4680 * test/minitest/*: Imported minitest 4.3.2 (r8027)
4682 Fri Nov 30 04:16:29 2012 Eric Hodel <drbrain@segment7.net>
4684 * lib/rake/*: Updated to rake 0.9.5
4685 * test/rake/*: ditto.
4688 Fri Nov 30 02:53:47 2012 Aaron Patterson <aaron@tenderlovemaking.com>
4690 * vm.c: add a return hook when a method raises an exception.
4692 * probes_helper.h: look up klass and method if none are provided.
4694 * eval.c: update macro usage.
4698 * vm_insnhelper.c: ditto.
4700 * test/dtrace/test_function_entry.rb: test for change.
4702 Fri Nov 30 02:27:12 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
4708 * vm.c (m_core_hash_from_ary): add assertion instead of above.
4710 * vm.c (m_core_hash_merge_ary): ditto.
4712 Thu Nov 29 19:15:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4714 * compile.c (compile_array_): hash elements must be paired even for
4715 literal elements. [ruby-dev:46658] [Bug #7466]
4717 Thu Nov 29 22:39:35 2012 Naohisa Goto <ngotogenome@gmail.com>
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]
4722 Thu Nov 29 22:23:31 2012 Hiroshi Nakamura <nahi@ruby-lang.org>
4724 * test/openssl/test_cipher.rb (test_ctr_if_exists): add CTR mode test
4725 if underlying OpenSSL supports it. See #4408
4727 Thu Nov 29 21:42:16 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
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.
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
4749 * class.c (include_modules_at): add a refined method entry for each
4750 method defined in a module included in a refinement.
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.
4756 * proc.c (mnew): use rb_method_entry_with_refinements() to get
4759 * test/ruby/test_refinement.rb (test_inline_method_cache): do not skip
4760 the test because it should pass successfully.
4762 * test/ruby/test_refinement.rb (test_redefine_refined_method): new
4763 test for the case a refined method is redefined.
4765 Thu Nov 29 17:45:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4767 * variable.c (rb_const_set): show namespace in warning messages.
4770 Thu Nov 29 17:31:53 2012 NARUSE, Yui <naruse@ruby-lang.org>
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"'
4777 Thu Nov 29 17:19:26 2012 Eric Hodel <drbrain@segment7.net>
4779 * lib/tracer.rb: Updated to match removal of custom_require from
4781 * test/test_tracer.rb: ditto. Improved failure message if the test
4784 Thu Nov 29 17:15:00 2012 Zachary Scott <zachary@zacharyscott.net>
4786 * gc.c: Documentation for GC, GC::Profiler, ObjectSpace, and
4787 ObjectSpace::WeakMap [ruby-core:50245] [Bug #7449]
4789 Thu Nov 29 17:12:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
4791 * tool/generic_erb.rb, tool/id2token.rb: add --path-separator option
4792 for mingw where make and built ruby live in different world.
4794 * tool/vpath.rb: extract from tool/instruction.rb.
4796 Thu Nov 29 17:11:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
4802 Thu Nov 29 17:03:38 2012 Eric Hodel <drbrain@segment7.net>
4804 * lib/rubygems/test_case.rb: Determine path to certificates to avoid
4806 * test/rubygems/test_gem_security_signer.rb: Use predetermined paths
4807 to avoid build-dir problems.
4809 Thu Nov 29 16:18:14 2012 Eric Hodel <drbrain@segment7.net>
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
4815 Thu Nov 29 16:14:41 2012 Koichi Sasada <ko1@atdot.net>
4817 * vm_backtrace.c (rb_debug_inspector_open): use RARRAY_LENINT() for
4820 Thu Nov 29 15:59:55 2012 Koichi Sasada <ko1@atdot.net>
4822 * include/ruby/debug.h: add rb_debug_inspector_* APIs.
4824 * vm_backtrace.c: ditto.
4826 * common.mk: add dependency from vm_backtrace.o to
4827 include/ruby/debug.h.
4829 * proc.c (rb_binding_new_with_cfp): constify.
4831 * vm.c (rb_vm_get_ruby_level_next_cfp): constify.
4833 * vm_core.h, vm_trace.c: move decls.
4835 Thu Nov 29 15:56:14 2012 NARUSE, Yui <naruse@ruby-lang.org>
4837 * lib/rdoc/test_case.rb (RDoc::TestCase#verbose_capture_io):
4838 defined for asserts of warnings.
4840 * test/rdoc: use verbose_capture_io on asserts of warnings.
4841 they failed when tests was run with RUBYOPT=-W0.
4843 Thu Nov 29 15:53:38 2012 NAKAMURA Usaku <usa@ruby-lang.org>
4845 * ext/psych/extconf.rb: added --enable-bundled-libyaml option. this
4846 enforces using bundled libyaml.
4848 Thu Nov 29 15:51:54 2012 Eric Hodel <drbrain@segment7.net>
4850 * lib/rubygems*: Updated to RubyGems 2.0
4851 * test/rubygems*: ditto.
4853 * common.mk (prelude): Updated for RubyGems 2.0 source rearrangement.
4855 * tool/change_maker.rb: Allow invalid UTF-8 characters in source
4858 Thu Nov 29 15:38:14 2012 Koichi Sasada <ko1@atdot.net>
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.
4865 * vm_trace.c: ditto.
4867 Thu Nov 29 15:10:45 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
4873 Thu Nov 29 14:56:30 2012 Koichi Sasada <ko1@atdot.net>
4875 * vm_trace.c (rb_tracepoint_attr_method_id):
4876 rename TracePoint#id to TracePoint#method_id.
4878 * include/ruby/debug.h: ditto.
4880 * test/ruby/test_settracefunc.rb: ditto,
4882 Thu Nov 29 14:49:10 2012 Koichi Sasada <ko1@atdot.net>
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]
4888 * include/ruby/debug.h: ditto.
4890 * test/ruby/test_settracefunc.rb: ditto.
4892 Thu Nov 29 14:27:57 2012 Koichi Sasada <ko1@atdot.net>
4894 * gc.c (gc_stat): prepare Symbol objects at first time
4897 Thu Nov 29 14:02:15 2012 Koichi Sasada <ko1@atdot.net>
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.
4905 Thu Nov 29 12:13:54 2012 Ryan Davis <ryand-ruby@zenspider.com>
4907 * lib/minitest/*: Imported minitest 4.3.2 (r8026)
4908 * test/minitest/*: ditto
4910 Thu Nov 29 11:06:06 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
4916 Thu Nov 29 10:29:53 2012 Koichi Sasada <ko1@atdot.net>
4918 * vm_backtrace.c: same as a last patch.
4920 Thu Nov 29 10:24:25 2012 Koichi Sasada <ko1@atdot.net>
4922 * vm_backtrace.c: use `long' for return values of `NUM2LONG()'.
4924 Thu Nov 29 09:52:08 2012 NARUSE, Yui <naruse@ruby-lang.org>
4926 * thread.c (do_select): suppress warning (uninitialized value warning)
4927 with UNINITIALIZED_VAR().
4929 Thu Nov 29 09:36:09 2012 Koichi Sasada <ko1@atdot.net>
4931 * eval.c (ruby_cleanup): delay THREAD_KILLED timing.
4932 It should be located just before rb_thread_terminate_all().
4934 Thu Nov 29 09:10:17 2012 Koichi Sasada <ko1@atdot.net>
4936 * vm_backtrace.c (vm_backtrace_to_ary): support range argument
4938 [ruby-core:50092] [ruby-trunk - Feature #7434]
4939 Test and document is not available. Please help us.
4941 Thu Nov 29 06:46:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
4943 * thread.c (thread_start_func_2): small cleanups.
4945 Thu Nov 29 06:37:08 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
4947 * thread.c (thread_start_func_2): remove unused code.
4948 this function never be used for main thread.
4950 Thu Nov 29 06:27:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
4952 * thread.c (thread_start_func_2): remove unused code.
4953 errinfo = th->errinfo; and errinfo = rb_errinfo(); are
4956 Thu Nov 29 05:26:32 2012 Koichi Sasada <ko1@atdot.net>
4958 * vm_backtrace.c (backtrace_to_str_ary2): rename to backtrace_to_str_ary.
4960 * vm_backtrace.c (rb_backtrace_to_str_ary): use `backtrace_to_str_ary()'.
4962 * vm_backtrace.c (backtrace_to_frame_ary): rename to
4963 backtrace_to_location_ary.
4965 Thu Nov 29 05:19:25 2012 Aaron Patterson <aaron@tenderlovemaking.com>
4967 * probes.d: Change function-entry probe to method-entry.
4969 * probes_helper.h: ditto
4970 * test/dtrace/test_function_entry.rb: ditto
4971 * test/dtrace/test_singleton_function.rb: ditto
4974 * vm_insnhelper.c: ditto
4976 Thu Nov 29 04:45:17 2012 Koichi Sasada <ko1@atdot.net>
4978 * vm_backtrace.c: rename Class name from
4979 ::RubyVM::Backtrace and ::RubyVM::Backtrace::Location
4980 to ::Thread::Backtrace and ::Thread::Backtrace::Location.
4982 Wed Nov 28 23:52:02 2012 Masaya Tarui <tarui@ruby-lang.org>
4984 * NEWS (Thread) remove incompatible changes about trap.
4986 Wed Nov 28 23:39:01 2012 Koichi Sasada <ko1@atdot.net>
4988 * thread.c (rb_mutex_sleep): fix to allow spurious wakeup.
4989 [ruby-dev:46654] [ruby-trunk - Bug #7455]
4991 * NEWS: write about spurious wakeup.
4993 Wed Nov 28 22:57:23 2012 Koichi Sasada <ko1@atdot.net>
4995 * thread_win32.c: catch up latest change of BLOCKING_REGION.
4997 Wed Nov 28 22:54:21 2012 Koichi Sasada <ko1@atdot.net>
4999 * vm_insnhelper.c (vm_call_method): fix undefined behavior.
5000 Should not access scope local variable from outer scope.
5002 Wed Nov 28 22:20:55 2012 Masaya Tarui <tarui@ruby-lang.org>
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.
5007 Wed Nov 28 21:58:47 2012 Koichi Sasada <ko1@atdot.net>
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.
5015 * thread.c: implement `rb_thread_call_without_gvl2()'.
5017 Wed Nov 28 21:31:21 2012 Masaya Tarui <tarui@ruby-lang.org>
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.
5035 Wed Nov 28 21:23:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5037 * ext/psych/yaml/emitter.c (yaml_emitter_write_indicator): constify.
5039 * ext/psych/yaml/emitter.c (yaml_emitter_write_block_scalar_hints):
5042 * ext/psych/extconf.rb: mingw32 also needs macros for win32, not
5045 * ext/psych/extconf.rb: compile sources in the source directory
5046 without copying by using VPATH.
5048 Wed Nov 28 21:18:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5050 * lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for
5051 each VPATH elements.
5053 Wed Nov 28 16:40:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
5068 * thread.c (rb_threadptr_execute_interrupts): fix thread status
5069 overwritten issue. [Bug #7450] [ruby-core:50249]
5071 * test/ruby/test_thread.rb (test_hread_status_raise_after_kill):
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.
5080 Wed Nov 28 16:21:46 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
5089 * io.c (io_binwrite): mark fptr->write_lock as writable in trap.
5091 * test/ruby/test_signal.rb (test_trap_puts): test for the above.
5093 Wed Nov 28 16:59:12 2012 Koichi Sasada <ko1@atdot.net>
5095 * proc.c: remove Proc#== and Proc#eql?.
5096 Proc objects compared with their object ids.
5099 * test/ruby/test_proc.rb: remove related test.
5101 Wed Nov 28 16:41:04 2012 Eric Hodel <drbrain@segment7.net>
5103 * lib/rdoc/servlet.rb: Add support for serving documentation from a
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
5109 Wed Nov 28 15:37:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
5111 * configure.in: fix r37924: run only on i[3-6]86-linux.
5113 Wed Nov 28 15:31:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5115 * io.c (FMODE_SYNCWRITE): removed unused macro.
5117 Wed Nov 28 15:19:25 2012 Naohisa Goto <ngotogenome@gmail.com>
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]
5123 Wed Nov 28 14:50:55 2012 Koichi Sasada <ko1@atdot.net>
5125 * ext/psych/extconf.rb: copy sources into build directory,
5128 Wed Nov 28 14:34:06 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5130 * thread.c (rb_mutex_lock): moved trap context check from
5131 rb_mutex_trylock because try_lock have no change to make
5133 * thread.c (rb_mutex_trylock): ditto.
5134 * NEWS: news for the above.
5136 Wed Nov 28 13:39:54 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
5143 Wed Nov 28 13:27:29 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
5172 Wed Nov 28 12:54:59 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5174 * thread.c (thread_join): A trap handler check was moved from
5175 thread_join_m because Thread#value should be raised an exception
5177 * thread.c (thread_join_m): remove trap handler check.
5178 * test/ruby/test_thread.rb (test_thread_join_in_trap): add test
5180 * NEWS: documentation fix for the above.
5182 Wed Nov 28 11:07:00 2012 Zachary Scott <zachary@zacharyscott.net>
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
5192 Wed Nov 28 09:15:51 2012 Ryan Davis <ryand-ruby@zenspider.com>
5194 * ext/strscan/strscan.c: Added #charpos for multibyte string position.
5195 * test/strscan/test_stringscanner.rb: ditto
5197 Wed Nov 28 09:00:34 2012 Aaron Patterson <aaron@tenderlovemaking.com>
5199 * ext/fiddle/fiddle.c: adding alignment constants for compatibility
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
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
5220 Wed Nov 28 08:56:00 2012 Zachary Scott <zachary@zacharyscott.net>
5222 * doc/globals.rdoc: Add documentation file for magic globals
5223 [ruby-core:29048] [Bug #3022]
5225 Wed Nov 28 08:55:00 2012 Zachary Scott <zachary@zacharyscott.net>
5227 * .document: Add README's to be included with docs
5229 Wed Nov 28 08:26:00 2012 Zachary Scott <zachary@zacharyscott.net>
5231 * ext/dl/lib/dl.rb: Deprecation notice for DL
5233 Wed Nov 28 08:25:00 2012 Zachary Scott <zachary@zacharyscott.net>
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
5242 Wed Nov 28 04:53:40 2012 Aaron Patterson <aaron@tenderlovemaking.com>
5244 * ext/fiddle/handle.c: Make Fiddle independent of DL, copy DL::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
5262 * test/fiddle/helper.rb: remove dependency on dl
5263 * test/fiddle/test_closure.rb: ditto
5264 * test/fiddle/test_fiddle.rb: ditto
5266 Wed Nov 28 03:03:28 2012 NARUSE, Yui <naruse@ruby-lang.org>
5268 * configure.in (opt-dir): don't use non portable flag -E of sed.
5270 Wed Nov 28 02:55:35 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
5276 Tue Nov 27 22:03:09 2012 Akinori MUSHA <knu@iDaemons.org>
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().
5282 Tue Nov 27 21:29:00 2012 Kenta Murata <mrkn@mrkn.jp>
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.
5288 * bignum.c (bigdivrem1): ditto.
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.
5293 Tue Nov 27 19:56:43 2012 Koichi Sasada <ko1@atdot.net>
5295 * vm.c (rb_vm_make_env_object): make Proc object if Env is possible
5297 [ruby-core:41038] [ruby-trunk - Bug #5634]
5299 * vm.c (rb_vm_make_proc): No need to make Proc object here.
5301 * bootstraptest/test_proc.rb: add tests.
5303 Tue Nov 27 18:51:06 2012 Naohisa Goto <ngotogenome@gmail.com>
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.
5312 Tue Nov 27 17:43:46 2012 Eric Hodel <drbrain@segment7.net>
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
5319 Tue Nov 27 16:24:45 2012 Eric Hodel <drbrain@segment7.net>
5321 * test/rdoc/test_rdoc_ri_paths.rb: Fixed duplicate path bug which
5322 caused windows failures.
5324 Tue Nov 27 16:06:00 2012 Eric Hodel <drbrain@segment7.net>
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
5333 Tue Nov 27 15:13:51 2012 Eric Hodel <drbrain@segment7.net>
5335 * common.mk (rdoc): Set --debug for rdoc generation in case of bugs
5337 Tue Nov 27 14:56:45 2012 Eric Hodel <drbrain@segment7.net>
5339 * lib/rdoc/rubygems_hook.rb: Updated for (upcoming) RubyGems 2
5341 * test/rdoc/test_rdoc_rubygems_hook.rb: ditto
5343 Tue Nov 27 13:59:29 2012 Narihiro Nakamura <authornari@gmail.com>
5345 * NEWS: add improvements of the garbage collector.
5347 Tue Nov 27 13:27:46 2012 Eric Hodel <drbrain@segment7.net>
5349 * lib/rdoc*: Updated to RDoc 4.0 (pre-release)
5352 * NEWS: Updated with RDoc 4.0 information
5354 Tue Nov 27 12:17:11 2012 Koichi Sasada <ko1@atdot.net>
5356 * thread.c (rb_thread_terminate_all): retry broadcast only when
5357 an exception is raised.
5359 Tue Nov 27 12:02:25 2012 Koichi Sasada <ko1@atdot.net>
5361 * thread.c (rb_thread_terminate_all): broadcast terminate event
5362 not only an interrupt exception but any exceptions.
5364 Tue Nov 27 10:55:09 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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):
5371 Tue Nov 27 10:31:29 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5373 * thread.c (rb_thread_terminate_all): suppress a warning.
5375 Tue Nov 27 09:29:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5377 * thread.c (thread_join): raises ThreadError if target thread
5379 * test/ruby/test_thread.rb (test_thread_join_main_thread):
5381 * NEWS: news for the above.
5383 Tue Nov 27 09:24:47 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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):
5389 * NEWS: news for the above.
5391 Tue Nov 27 09:59:16 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5393 * ext/extmk.rb (extmake): close mkmf.log for each libraries so that
5394 failure messages are not mixed.
5396 Tue Nov 27 09:58:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
5402 Tue Nov 27 09:17:59 2012 Koichi Sasada <ko1@atdot.net>
5404 * NEWS: add TracePoint.
5406 Tue Nov 27 08:16:03 2012 Koichi Sasada <ko1@atdot.net>
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.
5412 * include/ruby/debug.h: ditto.
5416 * test/ruby/test_settracefunc.rb: ditto.
5418 Tue Nov 27 08:04:26 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5420 * thread.c (rb_thread_terminate_all): broadcast eTerminateSignal
5421 again when Ctrl-C was pressed. [Feature #1952] [ruby-dev:39107]
5423 Tue Nov 27 07:58:03 2012 Koichi Sasada <ko1@atdot.net>
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.
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.
5434 Tue Nov 27 07:47:09 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
5440 Tue Nov 27 04:12:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5442 * ext/extmk.rb (extmake): git rid of post-1.8 features for cross
5443 compilation. [ruby-core:50160] [Bug #7439]
5445 Tue Nov 27 00:13:41 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
5451 Mon Nov 26 23:55:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5453 * NEWS: update for Thread#join incompatible change.
5455 Mon Nov 26 22:44:24 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
5462 Mon Nov 26 21:16:04 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
5470 Mon Nov 26 20:23:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5472 * thread.c (thread_join_m): use th->interrupt_mask instead of
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.
5480 Mon Nov 26 20:23:49 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
5485 Mon Nov 26 19:45:18 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5487 * ruby_atomic.h (ATOMIC_CAS): new macro for compare-and-exchange.
5489 * vm_core.h (struct rb_thread_struct): add interrupt_mask member.
5490 * thread.c (thread_create_core, Init_Thread): initialize
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
5497 * thread.c (set_unblock_function, rb_thread_schedule): replace
5498 th->interrupt_flag with RUBY_VM_INTERRUPTED_ANY()
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.
5504 * thread.c (rb_threadptr_execute_interrupts):
5505 don't process interrupt if it is masked.
5506 [Bug #6009] [ruby-core:42524]
5508 Mon Nov 26 19:43:42 2012 Koichi Sasada <ko1@atdot.net>
5510 * iseq.c (make_compile_option_value): add trace_instruction option.
5511 a patch by davidbalbert (David Albert).
5514 Mon Nov 26 19:10:53 2012 Koichi Sasada <ko1@atdot.net>
5516 * bootstraptest/test_thread.rb: try to `join' each 100
5518 This benchmark seems consuming long time on travis-ci
5519 several times (and make `failure').
5521 Mon Nov 26 18:22:56 2012 Koichi Sasada <ko1@atdot.net>
5523 * common.mk: specify label `built-ruby'.
5525 * benchmark/driver.rb: quote path.
5527 Mon Nov 26 18:26:28 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5529 * signal.c (signal_exec): add volatile to make sure setjmp safe.
5531 Mon Nov 26 18:19:47 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5533 * signal.c (signal_exec): suppress "warning: variable 'signum'
5534 might be clobbered by 'longjmp' or 'vfork'" warning.
5536 Mon Nov 26 18:15:47 2012 Koichi Sasada <ko1@atdot.net>
5538 * benchmark/driver.rb: accept multiple `-e'.
5539 You don't need to use `;' separation character.
5540 [ruby-core:50139] [ruby-trunk - Bug #7380]
5542 Mon Nov 26 17:10:04 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
5548 Mon Nov 26 17:00:12 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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
5560 Mon Nov 26 16:36:13 2012 NARUSE, Yui <naruse@ruby-lang.org>
5562 * io.c (argf_each_codepoint): add missing ARGF#codepoints [Bug #7438]
5564 Mon Nov 26 15:50:29 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5566 * bignum.c (bigdivrem): restart calculation when bigdivrem1 was
5567 interrupted by signal. Otherwise, ruby script may see a garbage
5570 Mon Nov 26 15:33:02 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
5577 Mon Nov 26 12:11:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5579 * win32/Makefile.sub (DLNOBJ): missing in r37821.
5581 Mon Nov 26 10:50:19 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5583 * test/ruby/test_process.rb (test_setsid): added a few wait for
5584 preventing that Process.getsid(io.pid) makes Errno::ESRCH.
5586 Sun Nov 25 22:34:00 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
5588 * array.c (ary_resize_smaller): new function to resize array.
5590 * array.c (rb_ary_delete): refactoring to extract a function.
5592 * array.c (rb_ary_delete_same): refactoring.
5593 It renames function, reduces duplicated code and removes unused
5596 * gc.c (wmap_final_func): follow the above change.
5598 * internal.h (rb_ary_delete_same): ditto.
5600 Sun Nov 25 22:27:33 2012 Benoit Daloze <eregontp@gmail.com>
5602 * array.c: fixes for the updated documentation in r35858:
5603 Typos and #take/#drop accept to take/drop 0 elements.
5605 Sun Nov 25 19:43:29 2012 Kazuki Tsujimoto <kazuki@callcc.net>
5607 * NEWS: add a news about iconv.
5609 Sun Nov 25 03:49:23 2012 Akinori MUSHA <knu@iDaemons.org>
5611 * lib/set.rb, test/test_set.rb: Move tests embedded in lib/set.rb
5612 to test/test_set.rb.
5614 Sun Nov 25 03:44:50 2012 Akinori MUSHA <knu@iDaemons.org>
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]
5621 * string.c (rb_str_each_char, rb_str_chars): Ditto for
5624 * string.c (rb_str_each_codepoint, rb_str_codepoints): Ditto for
5627 * string.c (rb_str_each_byte, rb_str_bytes): Ditto for
5630 * NEWS: Add notes for the above changes.
5632 Sun Nov 25 02:07:37 2012 Akinori MUSHA <knu@iDaemons.org>
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.
5640 Sat Nov 24 21:08:50 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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
5647 * gc.c (wmap_finalize): ditto.
5648 [ruby-core:49044] [Bug #7304]
5650 Sat Nov 24 21:01:55 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
5652 * array.c (rb_ary_delete_same_obj): new function for WeakRef.
5653 This deletes same objects as item argument in the array.
5655 * internal.h (rb_ary_delete_same_obj): add a declaration.
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.
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.
5667 * gc.c (wmap_aset): obj2wmap should contain WeakRef array in the
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]
5675 Sat Nov 24 19:44:41 2012 NARUSE, Yui <naruse@ruby-lang.org>
5677 * ext/nkf/nkf-utf8/nkf.c (unicode_iconv_combine): returning flags are
5680 Sat Nov 24 19:29:18 2012 Tadayoshi Funaba <tadf@dotrb.org>
5682 * test/ruby/test_rubyoptions.rb (test_usage, test_usage_long):
5685 Sat Nov 24 13:10:14 2012 Koichi Sasada <ko1@atdot.net>
5687 * vm_trace.c (rb_tracepoint_attr_raised_exception): should not check
5688 value before event checking.
5690 * vm_trace.c (rb_tracepoint_attr_return_value): ditto.
5692 * test/ruby/test_settracefunc.rb: add tests for TracePoint#return_value
5693 and TracePoint#raised_exception.
5695 Sat Nov 24 12:47:27 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
5697 * test/ruby/test_process.rb (TestProcess#test_setsid): "./ruby-trunk"
5698 doesn't work on all environments. EnvUtil.rubybin would be suitable.
5700 Sat Nov 24 12:28:04 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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
5707 Sat Nov 24 11:47:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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
5715 * NEWS: news for the above.
5717 Sat Nov 24 10:59:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5719 * thread.c (thread_create_core): don't use th->thread_id before
5722 Sat Nov 24 00:00:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
5728 Sat Nov 24 00:00:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5730 * configure.in (--disable-dln): option to disable dynamic linking
5731 feature. [ruby-core:37676] [Feature #4946]
5733 Fri Nov 23 23:44:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
5739 Fri Nov 23 17:31:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5741 * ruby.c (usage): wrap description lines if options are too long.
5743 Fri Nov 23 11:13:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5745 * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_usage2): refine
5748 * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_usage2): now
5749 --help option is for modern terminals.
5751 Fri Nov 23 10:45:00 2012 Zachary Scott <zachary@zacharyscott.net>
5753 * ext/socket/ipsocket.c (IPSocket#peeraddr): Fix example
5754 [ruby-core:46429] [Bug #6732]
5756 Fri Nov 23 02:40:00 2012 Zachary Scott <zachary@zacharyscott.net>
5758 * lib/cgi/core.rb: Documentation for CGI#header alias
5759 Based on a patch by Marcus Stollsteimer
5760 [ruby-core:49585] [Bug #7405]
5762 Thu Nov 22 23:48:10 2012 Narihiro Nakamura <authornari@gmail.com>
5764 * gc.c (is_swept_object): extract from is_dead_object().
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).
5770 * gc.c (rb_gcdebug_sentinel): add the function for debug.
5771 This function allow check to inadvertently free up an object.
5773 Thu Nov 22 23:45:18 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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
5779 [ruby-core:49518] [Bug #7383]
5781 * test/ruby/test_require.rb
5782 (TestRequire#test_require_with_array_pop,
5783 TestRequire#test_require_with_array_shift): add tests for above.
5785 Thu Nov 22 21:48:48 2012 NAKAMURA Usaku <usa@ruby-lang.org>
5787 * common.mk, win32/Makefile.sub (probes.dmyh): now be made in current
5788 (=build) directory if build from the repository.
5790 Thu Nov 22 21:34:51 2012 Tadayoshi Funaba <tadf@dotrb.org>
5792 * test/ruby/test_rubyoptions.rb: added a test.
5794 Thu Nov 22 20:32:07 2012 Tadayoshi Funaba <tadf@dotrb.org>
5796 * complex.c (string_to_c_strict, string_to_c): check NUL.
5797 * rational.c (string_to_r_strict, string_to_r): ditto.
5799 Thu Nov 22 20:21:45 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5801 * Makefile.in (.dmyh.h): removed $(VPATH). GNU make don't
5802 recognize suffix rule with VPATH.
5804 Thu Nov 22 18:11:27 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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]
5811 Thu Nov 22 18:01:28 2012 NARUSE, Yui <naruse@ruby-lang.org>
5813 * Makefile.in (probes.o): add -C to ignore #include in probes.d.
5815 * probes.d: include vm_opts.h instead of vm_core.h.
5817 * vm_opts.h (VM_COLLECT_USAGE_DETAILS): move definition from vm_core.h.
5819 Thu Nov 22 17:45:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
5821 * ext/nkf/nkf-utf8: Merge b0a6577a521d1bba5e19853f95d5c4b9be1072b5.
5822 Support JIS X 0213 and some bugfixes.
5824 Thu Nov 22 17:39:37 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5826 * tool/gen_dummy_probes.rb: don't change #include, #if and #endif
5829 Thu Nov 22 16:58:26 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
5835 Thu Nov 22 16:20:49 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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)
5841 Thu Nov 22 15:26:02 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
5848 Thu Nov 22 14:14:36 2012 Akinori MUSHA <knu@iDaemons.org>
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]
5854 Thu Nov 22 12:52:19 2012 Akinori MUSHA <knu@iDaemons.org>
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.
5860 Thu Nov 22 08:06:42 2012 Narihiro Nakamura <authornari@gmail.com>
5862 * test/ruby/test_gc.rb (test_profiler_clear): fix wrong method
5863 calls [Bug #7419] [ruby-core:49828].
5865 Thu Nov 22 02:22:33 2012 Tadayoshi Funaba <tadf@dotrb.org>
5867 * NEWS: edited (order etc).
5869 Wed Nov 21 22:52:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5871 * ext/io/wait/wait.c (io_wait_readable): add alias wait_readable.
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]
5878 Wed Nov 21 22:27:52 2012 Narihiro Nakamura <authornari@gmail.com>
5880 * gc.c (garbage_collect): remove a duplicative probe.
5882 Wed Nov 21 22:08:48 2012 Narihiro Nakamura <authornari@gmail.com>
5884 * gc.c (gc_profile_clear): realloc profile records if its size is
5885 higher than the threshold, GC_PROFILE_RECORD_DEFAULT_SIZE * 2.
5887 Wed Nov 21 21:53:29 2012 Tadayoshi Funaba <tadf@dotrb.org>
5889 * complex.c (nucomp_to_c): added.
5891 Wed Nov 21 21:35:38 2012 Tadayoshi Funaba <tadf@dotrb.org>
5893 * include/ruby/util.h: removed extra semicolon in definition of
5901 Wed Nov 21 18:46:37 2012 Tadayoshi Funaba <tadf@dotrb.org>
5903 * rational.c (read_digits): due to a bit tighter rb_cstr_to_inum().
5905 Wed Nov 21 16:13:37 2012 Koichi Sasada <ko1@atdot.net>
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]
5911 Wed Nov 21 00:57:43 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
5913 * file.c (Init_File): null device definition uses rb_define_const
5914 instead of rb_file_const.
5916 Wed Nov 21 00:28:18 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
5921 Tue Nov 20 23:28:26 2012 Masaki Matsushita <glass.saga@gmail.com>
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]
5930 Tue Nov 20 22:35:02 2012 NARUSE, Yui <naruse@ruby-lang.org>
5932 * Makefile.in (.d.h): replace char * to const char * because somehow
5933 current dtrace removes const of function declaration in probes.d.
5935 Tue Nov 20 21:41:04 2012 Koichi Sasada <ko1@atdot.net>
5937 * include/ruby/debug.h: introduced.
5938 Debugging/profiling features will be located.
5940 * vm_trace.c: expose C-level TracePoint APIs.
5941 Note that they are experimental.
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_*'.
5948 * debug.h, vm_debug.h: rename debug.h to vm_debug.h.
5952 * debug.c, main.c, vm_core.h: ditto.
5954 Tue Nov 20 21:12:37 2012 NARUSE, Yui <naruse@ruby-lang.org>
5956 * configure.in (RUBY_DTRACE_AVAILABLE): only check dtrace availability.
5958 * configure.in (RUBY_DTRACE_POSTPROCESS): restore.
5960 Tue Nov 20 21:22:44 2012 Masaki Suketa <masaki.suketa@nifty.ne.jp>
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]
5966 Tue Nov 20 21:06:41 2012 Tadayoshi Funaba <tadf@dotrb.org>
5968 * complex.c: some improvements.
5969 * rational.c: ditto.
5971 Tue Nov 20 21:01:16 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
5973 * common.mk (incs): BSD make cannot deal with non-prefixed dependency
5974 and prefixed target.
5976 Tue Nov 20 20:10:23 2012 Yusuke Endoh <mame@tsg.ne.jp>
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]
5981 * range.c (range_bsearch): ditto.
5983 Tue Nov 20 19:02:44 2012 Koichi Sasada <ko1@atdot.net>
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.
5997 * test/ruby/test_settracefunc.rb: add tests.
5999 Tue Nov 20 18:35:05 2012 Koichi Sasada <ko1@atdot.net>
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
6008 Please review and give us feedback until next preview
6009 release (Dec/2012) of Ruby 2.0.0.
6012 * insns.def, vm.c, vm_eval.c, vm_insnhelper.c, eval.c, thread.c:
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.
6019 * test/ruby/test_settracefunc.rb: fix tests to test this change.
6021 Tue Nov 20 17:31:12 2012 NARUSE, Yui <naruse@ruby-lang.org>
6023 * configure.in: fix dtrace didn't work on darwin.
6025 * configure.in (RUBY_DTRACE_AVAILABLE): unify RUBY_DTRACE_POSTPROCESS
6026 and RUBY_DTRACE_BSD_BROKEN.
6028 Tue Nov 20 15:20:00 2012 Zachary Scott <zachary@zacharyscott.net>
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]
6034 Tue Nov 20 14:19:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
6036 * test/ruby/test_signal.rb (TestSignal#test_signame): fix windows
6037 test failure. Process.kill on windows can't send a signal to
6040 Tue Nov 20 13:58:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
6047 Tue Nov 20 12:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
6049 * ruby.c (usage_msg): Fix typo [ruby-core:49205] [Bug #7327]
6051 Tue Nov 20 12:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
6053 * file.c (File::NULL): Document File::NULL constant
6054 [ruby-core:49384] [Bug #7365]
6056 Tue Nov 20 12:05:15 2012 NAKAMURA Usaku <usa@ruby-lang.org>
6058 * win32/win32.c (rb_w32_read): Windows 8 fixed one of a bug of console
6060 based on the patch by Heesob Park at [ruby-core:49479] [Bug #7379]
6062 Tue Nov 20 11:14:33 2012 NARUSE, Yui <naruse@ruby-lang.org>
6064 * configure.in (--enable-dtrace): always call RUBY_DTRACE_BSD_BROKEN
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)
6075 Mon Nov 19 22:55:48 2012 Naohisa Goto <ngotogenome@gmail.com>
6077 * configure.in (--enable-dtrace): change help message
6079 Tue Nov 20 11:05:00 2012 Zachary Scott <zachary@zacharyscott.net>
6081 * lib/tracer.rb (Tracer.trace_func): printf to stdout
6082 Patch by Michal Fojtik [ruby-core:45219] [Bug #6490]
6084 Mon Nov 19 21:24:18 2012 Naohisa Goto <ngotogenome@gmail.com>
6086 * vm_dump.c: not to include probes.h because the code does not depend
6088 * common.mk (vm_dump.$(OBJEXT)): remove dependency on probes.h
6090 Tue Nov 20 10:14:22 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
6092 * thread.c (rb_thread_s_check_interrupt): removed redundant
6095 Tue Nov 20 10:12:46 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
6097 * thread.c (rb_threadptr_async_errinfo_active_p): added a small
6100 Tue Nov 20 10:05:56 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
6102 * thread.c (rb_thread_blocking_region_end): replaced GET_THREAD()
6103 with ruby_thread_from_native(). We don't have GVL here.
6105 Tue Nov 20 09:56:15 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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//.
6113 Tue Nov 20 09:48:34 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
6115 * signal.c (rb_get_next_signal): removed pointless signal
6116 disabling. pthread_sigmask() only changes current thread
6119 Tue Nov 20 09:36:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
6121 * signal.c (install_sighandler): added comments why we need
6122 rb_disable_interrupt().
6124 Tue Nov 20 09:31:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
6126 * signal.c (rb_disable_interrupt, rb_enable_interrupt): removed
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
6133 Tue Nov 20 09:20:49 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
6135 * prelude.rb: Moved Mutex#synchronize to
6136 * thread.c (rb_mutex_synchronize_m): here. [Bug #4266]
6138 Tue Nov 20 08:36:15 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
6140 * signal.c (sig_signame): implements Signal.signame method
6142 * test/ruby/test_signal.rb (test_signame): adds test for above
6143 * NEWS: add an item about above
6145 Mon Nov 19 16:30:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
6151 Mon Nov 19 16:17:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6153 * configure.in (LIBS): libelf is need on only FreeBSD.
6155 Mon Nov 19 16:08:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
6162 Mon Nov 19 15:40:50 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
6164 * .travis.yml (script): add OPTS=-v, requested by @_ko1.
6166 Mon Nov 19 15:09:07 2012 NARUSE, Yui <naruse@ruby-lang.org>
6168 * configure.in: fix didn't enable_dtrace=yes on auto.
6170 * configure.in: see enable_dtrace for adding libelf on FreeBSD.
6172 * common.mk: VPATH is not needed.
6174 Mon Nov 19 14:55:51 2012 Koichi Sasada <ko1@atdot.net>
6176 * thread.c: add `Thread#backtrace_locations' method.
6177 This method is similar to `caller_locations' method for
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
6183 However, `Thread#backtrace' (and `Thread#backtrace_locations')
6184 return `Thread#backtrace' method frame itself
6185 if `Thread.current.backtrace' was called.
6187 * vm_backtrace.c: ditto.
6189 * internal.h: ditto.
6191 * test/ruby/test_backtrace.rb: add tests.
6193 Mon Nov 19 14:54:32 2012 NAKAMURA Usaku <usa@ruby-lang.org>
6195 * Makefile.in, common.mk (probes.h): moved to common.mk and changed to
6198 * common.mk (probes.dmyh): now created it on $(srcdir) always.
6200 * win32/Makefile.sub (.SUFFIXES): removed common suffix.
6202 Mon Nov 19 10:00:10 2012 NARUSE, Yui <naruse@ruby-lang.org>
6204 * Makefile.in (.SUFFIX): bsdmake needs .SUFFIX is defined before use.
6206 * common.mk: fix path of probes.dmyh.
6208 * common.mk (vm_dump.o): depend probes.h.
6210 * configure.in: FreeBSD's USDT requires libelf.
6212 Mon Nov 19 01:11:59 2012 Naohisa Goto <ngotogenome@gmail.com>
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.
6221 Sun Nov 18 16:33:00 2012 Naohisa Goto <ngotogenome@gmail.com>
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.
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.
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.
6236 * configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
6237 the dtrace supports USDT.
6239 * configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.
6241 * configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.
6243 * configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
6244 DTrace probe object generated by postprocessing with "dtrace -G".
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".
6250 * configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
6251 macro for DTrace static library hacks.
6253 * configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.
6255 * Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
6256 rule for DTrace static library hacks.
6258 * common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.
6260 Sun Nov 18 09:31:47 2012 Tadayoshi Funaba <tadf@dotrb.org>
6262 * complex.c (read_comp): mathn compliant.
6263 * rational.c (read_num): ditto.
6265 Sun Nov 18 02:50:12 2012 Luis Lavena <luislavena@gmail.com>
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]
6271 Sun Nov 18 02:02:46 2012 Tadayoshi Funaba <tadf@dotrb.org>
6273 * complex.c (read_comp): modified handling of polar form.
6275 Sun Nov 18 00:50:44 2012 Tadayoshi Funaba <tadf@dotrb.org>
6277 * complex.c (read_comp): fixed handling of polar form.
6279 Sun Nov 18 00:14:46 2012 Tadayoshi Funaba <tadf@dotrb.org>
6281 * complex.c (string_to_c_strict, string_to_c): rewrote without regexp.
6282 * rational.c (string_to_r_strict, string_to_r): ditto.
6284 Sat Nov 17 23:53:05 2012 Tadayoshi Funaba <tadf@dotrb.org>
6286 * complex.c (make_patterns): should not accept extra sign.
6288 Sat Nov 17 21:45:12 Luis Lavena <luislavena@gmail.com>
6290 * win32/file.c (replace_to_long_name): skip expansion for all wildcard
6292 [ruby-core:49451] [Bug #7374]
6294 * test/ruby/test_file_exhaustive.rb: add more assertions to test.
6296 Sat Nov 17 12:14:50 2012 Aaron Patterson <aaron@tenderlovemaking.com>
6298 * ext/psych/lib/psych/visitors/yaml_tree.rb: use literal YAML style
6299 when emitting multi-line strings. Thanks @atambo
6301 * test/psych/test_yaml.rb: test for change.
6303 Sat Nov 17 12:03:41 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
6309 Sat Nov 17 11:34:31 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
6315 * test/-ext-/st/test_update.rb
6316 (Bug::StTable#test_pass_objects_in_st_table): add a test.
6318 Sat Nov 17 11:26:36 2012 Aaron Patterson <aaron@tenderlovemaking.com>
6320 * ext/psych/lib/psych/core_ext.rb: move Kernel#y so that it can
6321 manually be required as 'psych/y'.
6323 * ext/psych/lib/psych/y.rb: ditto
6325 Sat Nov 17 08:13:48 2012 Benoit Daloze <eregontp@gmail.com>
6327 * lib/abbrev.rb: fix r37113. Correct examples, fix style
6328 and show explicit dependency (require 'abbrev').
6330 Sat Nov 17 07:35:15 2012 Luis Lavena <luislavena@gmail.com>
6332 * win32/file.c (replace_to_long_name): skip automatic path expansion
6333 when wildcard character is used. [ruby-core:49451] [Bug #7374]
6335 * test/ruby/test_file_exhaustive.rb: add a test for above.
6337 Sat Nov 17 00:50:23 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
6339 * marshal.c (w_object): add flonum to arg->data to keep reference index
6340 consistency. [ruby-core:49323] [Bug #7348]
6342 * test/ruby/test_marshal.rb: add a test for above.
6344 Sat Nov 17 00:40:25 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6346 * common.mk (incs): dist files need probes.dmyh.
6348 * common.mk (probes.dmyh): depends on generator script.
6350 * Makefile.in, common.mk, configure.in, win32/Makefile.sub (probes.h):
6351 select generating with dtrace or copying dummy file by suffix rules.
6353 Fri Nov 16 19:24:10 2012 Koichi Sasada <ko1@atdot.net>
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.
6361 * include/ruby/thread.h: ditto.
6363 Fri Nov 16 18:59:05 2012 NARUSE, Yui <naruse@ruby-lang.org>
6365 * Makefile.in (no-dtrace-probes.h): dmyprobes.h is in srcdir.
6367 * common.mk (dmyprobes.h): ditto.
6369 Fri Nov 16 17:57:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6371 * Makefile.in (probes.h): split build commands for dtrace-available
6372 and unavailable platforms.
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.
6377 * configure.in (DTRACE): move after AC_PROG_CC since cross_compiling
6380 * configure.in (DTRACE): ignore non-prefixed version if
6383 * Makefile.in, win32/Makefile.sub (probes.h): fix copying dmyprobes.h
6384 path when outplace-build.
6386 Fri Nov 16 15:27:36 2012 Masaki Matsushita <glass.saga@gmail.com>
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]
6392 Fri Nov 16 12:36:47 2012 NARUSE, Yui <naruse@ruby-lang.org>
6394 * test/rake/helper.rb (Rake::TestCase#setup): revert r37669.
6395 @orig_PWD should be the original pwd.
6397 * test/rake/test_*.rb: don't use @orig_PWD to load libraries.
6398 It should be specified with relative path from the file.
6400 Fri Nov 16 10:22:52 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
6405 Fri Nov 16 09:41:08 2012 NARUSE, Yui <naruse@ruby-lang.org>
6407 * lib/rake/version.rb: workaround fix to build. see #7366
6410 Fri Nov 16 07:23:18 2012 Eric Hodel <drbrain@segment7.net>
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.
6420 Fri Nov 16 06:58:52 2012 Eric Hodel <drbrain@segment7.net>
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.
6432 Thu Nov 15 22:39:32 2012 Yusuke Endoh <mame@tsg.ne.jp>
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]
6439 * array.c (rb_ary_bsearch): fix similar bug (missed break).
6441 * test/ruby/test_range.rb: add two test cases for above.
6443 Thu Nov 15 22:41:57 2012 Koichi Sasada <ko1@atdot.net>
6445 * vm_exec.h (GENTRY): GENTRY should be pointer size.
6446 A patch by yoshidam (Yoshida Masato) [Bug #7332].
6448 Thu Nov 15 13:20:00 2012 Zachary Scott <zachary@zacharyscott.net>
6450 * man/erb.1: Fix grammar and copyright dates
6451 * man/goruby.1: ditto
6456 Patch by Arthur Gunn
6459 Thu Nov 15 11:35:00 2012 Zachary Scott <zachary@zacharyscott.net>
6461 * man/ruby.1: Grammar edits for man page
6462 Based on a patch by Michael Endsley [Fixes Github #183]
6464 Thu Nov 15 00:47:20 2012 Yusuke Endoh <mame@tsg.ne.jp>
6466 * array.c (rb_ary_bsearch): add Array#bsearch for binary search.
6467 [ruby-core:36390] [Feature #4766]
6469 * test/ruby/test_array.rb: add a test for above.
6471 * range.c (range_bsearch): add Range#bsearch for binary search.
6472 [ruby-core:36390] [Feature #4766]
6474 * test/ruby/test_range.rb: add a test for above
6476 * NEWS: added the two new methods.
6478 Wed Nov 14 13:25:00 2012 Zachary Scott <zachary@zacharyscott.net>
6480 * lib/fileutils.rb (chmod): Add "X" to modes, convert format to table
6481 [ruby-core:48965] [Bug #7288]
6483 Wed Nov 14 11:51:00 2012 Zachary Scott <zachary@zacharyscott.net>
6485 * lib/csv.rb (init_comments): Document private method #init_comments.
6486 Based on a patch from Vincent Batts [ruby-core:49172] [Bug #7319]
6488 Wed Nov 14 00:54:00 2012 Kenta Murata <mrkn@mrkn.jp>
6490 * Makefile.in (probes.h): create from probes.d
6492 Tue Nov 13 18:44:01 2012 Koichi Sasada <ko1@atdot.net>
6494 * vm_insnhelper.c (vm_call_cfunc_with_frame): don't use ci after
6495 EXEC_EVENT_HOOK because ci can be overridden.
6499 * method.h: change invoker's parameters types.
6501 * vm_method.c (call_cfunc_invoker_func): ditto.
6503 Tue Nov 13 18:01:54 2012 Shugo Maeda <shugo@ruby-lang.org>
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
6509 * test/ruby/test_refinement.rb: related test.
6511 Tue Nov 13 17:40:04 2012 NARUSE, Yui <naruse@ruby-lang.org>
6513 * common.mk (vm_insnhelper.c): this target is useless and causes
6514 ruby always need rebuild.
6516 Tue Nov 13 17:35:49 2012 Koichi Sasada <ko1@atdot.net>
6518 * compile.c (insn_data_to_s_detail): remove debug lines.
6520 Tue Nov 13 17:28:47 2012 Koichi Sasada <ko1@atdot.net>
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.
6526 * bootstraptest/test_method.rb: add tests for this fix.
6528 Tue Nov 13 16:38:02 2012 NARUSE, Yui <naruse@ruby-lang.org>
6530 * common.mk (dmyprobes.h): always create for make dist.
6532 * Makefile.in (probes.h): create or copy dmyprobes.h
6534 * win32/Makefile.sub: only do copy dmyprobes.h.
6536 Tue Nov 13 15:37:21 2012 NARUSE, Yui <naruse@ruby-lang.org>
6538 * Makefile.in (.SUFFIX): .SUFFIX is needed here for .d.h on bsd make.
6540 Tue Nov 13 15:34:35 2012 NAKAMURA Usaku <usa@ruby-lang.org>
6542 * common.mk Makefile.in win32/Makefile.sub (.d.h): it's not common.
6544 Tue Nov 13 12:27:11 2012 NARUSE, Yui <naruse@ruby-lang.org>
6546 * configure.in: disable dtrace because it doesn't work on FreeBSD.
6548 * common.mk (clean-local): rm probes.h.
6550 * common.mk (parse.o): depend $(PROBES_H_INCLUDES).
6552 * common.mk (.d.h): moved from Makefile.in and use BASERUBY.
6554 * tool/gen_dummy_probes.rb: reimplemented with ruby because sed is not
6555 available on Windows Microsoft VC++ environment.
6557 Tue Nov 13 12:30:26 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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>.
6563 Tue Nov 13 11:03:47 2012 Masaki Matsushita <glass.saga@gmail.com>
6565 * re.c (rb_memsearch_ss): performance improvement by using memmem(3) if
6566 possible. [ruby-dev:45530] [Feature #6311]
6568 * configure.in: check existence of memmem(3) and that it is not broken.
6570 Tue Nov 13 06:50:02 2012 Aaron Patterson <aaron@tenderlovemaking.com>
6572 * probes.d: add DTrace probe declarations. [ruby-core:27448]
6574 * array.c (empty_ary_alloc, ary_new): added array create DTrace probe.
6576 * compile.c (rb_insns_name): allowing DTrace probes to access
6577 instruction sequence name.
6579 * Makefile.in: translate probes.d file to appropriate header file.
6581 * common.mk: declare dependencies on the DTrace header.
6583 * configure.in: add a test for existence of DTrace.
6585 * eval.c (setup_exception): add a probe for when an exception is
6588 * gc.c: Add DTrace probes for mark begin and end, and sweep begin and
6591 * hash.c (empty_hash_alloc): Add a probe for hash allocation.
6593 * insns.def: Add probes for function entry and return.
6595 * internal.h: function declaration for compile.c change.
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.
6600 * object.c (rb_obj_alloc): added a probe for general object creation.
6602 * parse.y (yycompile0): added a probe around parse and compile phase.
6604 * string.c (empty_str_alloc, str_new): DTrace probes for string
6607 * test/dtrace/*: tests for DTrace probes.
6609 * vm.c (vm_invoke_proc): add probes for function return on exception
6610 raise, hash create, and instruction sequence execution.
6612 * vm_core.h: add probe declarations for function entry and exit.
6614 * vm_dump.c: add probes header file.
6616 * vm_eval.c (vm_call0_cfunc, vm_call0_cfunc_with_frame): add probe on
6617 function entry and return.
6619 * vm_exec.c: expose instruction number to instruction name function.
6621 * vm_insnhelper.c: add function entry and exit probes for cfunc
6624 * vm_insnhelper.h: vm usage information is always collected, so
6625 uncomment the functions.
6627 Mon Nov 12 19:14:50 2012 Akinori MUSHA <knu@iDaemons.org>
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.
6633 Mon Nov 12 15:59:38 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
6639 * test/ruby/test_refinement.rb (test_inline_method_cache): skip
6640 the test until the bug is fixed efficiently.
6642 Mon Nov 12 14:28:01 2012 NAKAMURA Usaku <usa@ruby-lang.org>
6644 * win32/mkexports.rb (each_export): skip garbage generated by VS2012's
6646 reported and patched by Yoshida Masato at [Bug #7333] [ruby-dev:46484]
6648 Sun Nov 11 18:58:55 2012 Tadayoshi Funaba <tadf@dotrb.org>
6650 * test/date/test_date_{parse,strptime}.rb: changed the format of
6651 some extra messages.
6653 Sun Nov 11 18:41:34 2012 Tadayoshi Funaba <tadf@dotrb.org>
6655 * ext/date/date_parse.c (date__parse): revised the tight parser
6656 (about handling of apostrophes).
6658 Sun Nov 11 15:39:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6660 * hash.c (rb_hash_s_create): just warn for wrong elements now.
6661 [ruby-dev:46440] [Bug #7300]
6663 * hash.c (rb_hash_s_create): refine error messages.
6665 * error.c (rb_builtin_class_name): share for above.
6667 Sun Nov 11 15:12:18 2012 Shugo Maeda <shugo@ruby-lang.org>
6669 * eval.c (top_using): remove Kernel#using, and add main.using instead.
6671 * test/ruby/test_refinement.rb: related test.
6673 Sun Nov 11 13:41:01 2012 Shugo Maeda <shugo@ruby-lang.org>
6675 * eval.c (rb_using_refinement, rb_mod_using, f_using): clear method
6676 cache only when using is called explicitly.
6678 * test/ruby/test_refinement.rb: related test.
6680 Sun Nov 11 12:56:34 2012 Masaki Matsushita <glass.saga@gmail.com>
6682 * lib/pstore.rb (PStore): fix not to replace ThreadError raised in
6683 #transaction block with PStore::Error.
6684 [ruby-core:39238] [Bug #5269]
6686 Sun Nov 11 11:36:19 2012 Shugo Maeda <shugo@ruby-lang.org>
6688 * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo):
6689 add a new field for inline method cache.
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
6695 * test/ruby/test_refinement.rb: related test.
6697 Sun Nov 11 08:45:45 2012 Martin Duerst <duerst@it.aoyama.ac.jp>
6699 * ruby.c: removed a comma before "before"
6701 Sat Nov 10 23:02:31 2012 Narihiro Nakamura <authornari@gmail.com>
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]
6707 Sat Nov 10 19:28:16 2012 Tadayoshi Funaba <tadf@dotrb.org>
6709 * complex.c: modified doc.
6710 * rational.c: ditto.
6712 Sat Nov 10 18:20:10 2012 Tadayoshi Funaba <tadf@dotrb.org>
6714 * ext/date/date_parse.c: edited about era.
6716 Sat Nov 10 12:13:41 2012 Kouhei Sutou <kou@cozmixng.org>
6718 * tool/rbinstall.rb: Don't install *.gemspec under lib/.
6719 [ruby-core:48966] [Bug #7289]
6720 Reported by Vit Ondruch. Thanks!!!
6722 Sat Nov 10 00:49:26 2012 Naohisa Goto <ngotogenome@gmail.com>
6724 * ruby_atomic.h: renamed from atomic.h to avoid header file name
6725 conflict on Solaris 10. [ruby-dev:46414] [Bug #7287]
6727 * gc.c, signal.c, vm_core.h, common.mk: reflect the rename from
6728 atomic.h to ruby_atomic.h.
6730 Sat Nov 10 00:46:57 2012 Naohisa Goto <ngotogenome@gmail.com>
6732 * atomic.h: Revert r37491 which is a temporary workaround.
6734 Sat Nov 10 00:33:31 2012 NAKAMURA Usaku <usa@ruby-lang.org>
6736 * siphash.h: check configure macros before include newer headers.
6738 Fri Nov 9 23:33:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6740 * lib/erb.rb (ERB#run, ERB#result): eval under isolated bindings for
6741 safe concurrent use. [ruby-core:47638] [Bug #7046]
6743 Fri Nov 9 23:05:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6745 * random.c (BYTE_ORDER): define using configured WORDS_BIGENDIAN.
6747 * siphash.c (sip_init_state): use union to suppress warnings by gcc
6750 Fri Nov 9 19:40:03 2012 NARUSE, Yui <naruse@ruby-lang.org>
6752 * array.c (rb_ary_splice): fix r37583 doesn't consider the case when
6755 Fri Nov 9 16:11:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6757 * random.c (rb_memhash): use siphash.
6759 Fri Nov 9 16:08:46 2012 Sokolov Yura funny-falcon <funny.falcon@gmail.com>
6761 * array.c: speedup Array#unshift by using space in shared array.
6763 - when array owns its shared array (ARY_SHARED_NUM == 1), and there
6764 is enough space then try unshift values directly into shared
6766 - when resulting array is big (~>64 items) then make it shared with
6767 enough room for future #unshifts, and then insert into shared
6770 * array.c (rb_ary_splice): use shared array in rb_ary_slice.
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.
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.
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
6787 - Fix rb_ary_sort_bang accordantly.
6789 Fri Nov 9 16:00:00 2012 Zachary Scott <zzak@zacharyscott.net>
6791 * ext/bigdecimal/bigdecimal.c: Documentation for BigDecimal
6792 Based on a patch from Vincent Batts [ruby-core:49047] [Bug #7305]
6794 Fri Nov 9 15:25:42 2012 Akinori MUSHA <knu@iDaemons.org>
6796 * lib/shellwords.rb (Shellwords#shellescape): Add back my original
6797 real world example with some enhancement.
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.
6803 Fri Nov 9 12:58:13 2012 NARUSE, Yui <naruse@ruby-lang.org>
6805 * string.c (rb_str_crypt): crypt(3) may return NULL.
6806 Latest glibc (2.16?) crypt(3) actually returns NULL. [Bug #7312]
6808 Fri Nov 9 12:07:06 2012 Akinori MUSHA <knu@iDaemons.org>
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]
6819 * addr2line.c (alloca): Replace the alloca() part with the
6820 ultimate ifdef's. [Bug #7307]
6822 Fri Nov 9 09:30:00 2012 Zachary Scott <zachary@zacharyscott.net>
6825 Fix indentation from r37444
6826 [ruby-core:48052] [Bug #7179]
6828 Fri Nov 9 07:36:00 2012 Kenta Murata <mrkn@mrkn.jp>
6830 * bignum.c (bigmul0): enable big_mul_toom3.
6831 [ruby-core:48552] [Bug #7242]
6833 * bignum.c (bigmul1_toom3): fix incorrect calculation.
6834 the patch is made by Heesob Park.
6835 [ruby-core:48552] [Bug #7242]
6837 Fri Nov 9 05:33:00 2012 Kenta Murata <mrkn@mrkn.jp>
6839 * bignum.c (bigmul0): disable big_mul_toom3 temporarily.
6840 [ruby-core:48552] [Bug #7242]
6842 * test/ruby/test_bignum.rb (test_mul_large_numbers):
6843 add a test for bigmul1_toom3 suggested in [Bug #7242].
6845 Thu Nov 8 21:57:59 2012 Masaki Matsushita <glass.saga@gmail.com>
6847 * re.c (rb_memsearch): performance improvement by using memchr().
6848 [ruby-dev:45397] [Feature #6173]
6850 Thu Nov 8 19:02:50 2012 NARUSE, Yui <naruse@ruby-lang.org>
6852 * lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):
6853 treat \r as newline as mame pointed. [ruby-dev:46425] [Bug #7278]
6855 Thu Nov 8 11:32:11 2012 Akinori MUSHA <knu@iDaemons.org>
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.
6861 Thu Nov 8 09:34:00 2012 Kenta Murata <mrkn@cookpad.com>
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]
6867 Thu Nov 8 04:45:21 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
6869 * include/ruby/intern.h: Restore rb_enumeratorize as it was before
6870 r37497 and introduce rb_enumeratorize_with_size instead. [#7302]
6872 * enumerator.c: ditto.
6874 Wed Nov 7 15:22:37 2012 NARUSE, Yui <naruse@ruby-lang.org>
6876 * numeric.c (ruby_float_step): fix r37514: it yielded with NaN
6877 if the unit is infinity.
6879 Wed Nov 7 15:46:12 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
6881 * lib/webrick.rb: fix typo. reported by Rohit Arondekar.
6882 https://github.com/ruby/ruby/pull/211
6884 Wed Nov 7 15:34:12 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
6886 * lib/cgi/core.rb: alias CGI#http_header to CGI#header.
6888 Wed Nov 7 12:49:39 2012 Shugo Maeda <shugo@ruby-lang.org>
6890 * eval.c (rb_mod_refine): set RMODULE_IS_REFINEMENT to a created
6891 refinement module, and don't override method_added.
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]
6897 * test/ruby/test_refinement.rb: related test.
6899 Wed Nov 7 11:48:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6901 * misc/ruby-additional.el (ruby-mode-set-encoding): now encoding needs
6902 to be set always explicitly actually. [Feature #6679]
6904 Wed Nov 7 09:15:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6906 * object.c (rb_mod_const_get): avoid inadvertent symbol creation.
6908 Wed Nov 7 07:52:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
6910 * enum.c (rb_enum_cycle_size): prefix with rb.
6912 Wed Nov 7 04:32:15 2012 Luis Lavena <luislavena@gmail.com>
6914 * test/ruby/test_file_exhaustive.rb: Remove FIXME skip on Windows
6915 specific test because the test in question was already fixed.
6917 Wed Nov 7 03:45:12 2012 Luis Lavena <luislavena@gmail.com>
6919 * ext/zlib/extconf.rb: Recognize zlibwapi as linking library.
6920 Patch by Daniel Berger.
6922 [ruby-core:44979] [Feature #6421]
6924 Wed Nov 7 02:06:40 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
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.
6932 * include/ruby/intern.h: RETURN_SIZED_ENUMERATOR for support of
6935 * array.c: Support for various enumerator.size.
6951 Tue Nov 6 20:40:28 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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 '::'
6957 * test/ruby/test_module.rb: test for fixes
6959 Tue Nov 6 16:50:00 2012 Masaki Matsushita <glass.saga@gmail.com>
6961 * lib/tempfile.rb (Tempfile#inspect): fix confusing #inspect.
6962 previous Tempfile#inspect says it is a File, but actually
6965 t = Tempfile.new("foo") #=> #<File:/tmp/foo20121106-31970-1ffbum0>
6966 t.is_a? File #=> false
6968 now Tempfile#inspect returns like:
6970 t = Tempfile.new("foo")
6971 #=> #<Tempfile:/tmp/foo20121106-31970-1ffbum0>
6973 [ruby-core:47544] [Bug #7027]
6975 Tue Nov 6 16:22:30 2012 Naohisa Goto <ngotogenome@gmail.com>
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]
6981 Tue Nov 6 14:38:00 2012 NAKAMURA Usaku <usa@ruby-lang.org>
6983 * test/win32ole/test_win32ole.rb: now source encoding is UTF-8, so
6984 binary strings in old scripts are dangerous.
6986 Tue Nov 6 14:25:09 2012 NARUSE, Yui <naruse@ruby-lang.org>
6988 * lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):
6989 don't use /n in universal regexp. [ruby-dev:46394] [Bug #7278]
6991 Tue Nov 6 09:42:26 2012 NARUSE, Yui <naruse@ruby-lang.org>
6993 * string.c (rb_str_b): Add String#b, returning a copied string
6994 whose encoding is ASCII-8BIT. [ruby-dev:45992] [Feature #6767]
6996 Tue Nov 6 09:37:57 2012 NARUSE, Yui <naruse@ruby-lang.org>
6998 * ruby.c (load_file_internal): set default source encoding as
6999 UTF-8 instead of US-ASCII. [ruby-core:46021] [Feature #6679]
7001 * parse.y (parser_initialize): set default parser encoding as
7002 UTF-8 instead of US-ASCII.
7004 Tue Nov 6 05:48:06 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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.
7011 Thu Nov 8 00:24:14 2012 Akinori MUSHA <knu@iDaemons.org>
7013 * ext/curses/view.rb: Do not fail if the file to view is shorter
7014 than the screen height.
7016 Mon Nov 5 11:40:00 2012 Mark Somerville <mark@scottishclmibs.com>
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]
7022 Mon Nov 5 23:28:57 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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
7028 * file.c (rb_get_path_check_convert): extract from rb_get_path_check().
7030 * file.c (rb_get_path_check): follow the above change.
7032 * file.c (rb_file_expand_path_fast): remove check_expand_path_args().
7033 Instead we call it in load.c.
7035 * file.c (rb_find_file_ext_safe): use rb_get_expanded_load_path() to
7038 * file.c (rb_find_file_safe): ditto.
7040 * internal.h (rb_get_expanded_load_path): add a declaration.
7042 * internal.h (rb_get_path_check_to_string, rb_get_path_check_convert):
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.
7052 * load.c (load_path_getcwd): get current working directory for checking
7053 if it's changed when getting load path.
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.
7061 * load.c (rb_feature_provided): call rb_get_path() since we changed
7062 rb_file_expand_path_fast() not to call it.
7064 * load.c (Init_load): initialize vm->load_path_check_cache.
7066 * vm.c (rb_vm_mark): mark vm->load_path_check_cache for GC.
7068 * vm_core.h (rb_vm_struct): add vm->load_path_check_cache to store data
7069 to check load path cache validity.
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]
7075 Mon Nov 5 23:26:05 2012 Greg Price <price@mit.edu>
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)
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.
7086 * vm_core.h (rb_vm_struct): add fields.
7088 * vm.c (rb_vm_mark): mark new fields.
7090 * ruby.c (process_options): modify $LOAD_PATH directly rather than
7092 Patch by Greg Price.
7093 [ruby-core:47970] [Bug #7158]
7095 Mon Nov 5 23:24:42 2012 Greg Price <price@mit.edu>
7097 * load.c (rb_feature_p, rb_provide_feature): index $LOADED_FEATURES
7098 so that require isn't so slow.
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
7105 * load.c (reset_loaded_features_snapshot): add a new function to reset
7106 vm->loaded_features_snapshot.
7108 * load.c (get_loaded_features_index_raw): add a new function to get
7109 the loaded-features index.
7111 * load.c (features_index_add_single): add a new function to add to the
7112 loaded-features index a single feature.
7114 * load.c (features_index_add): add a new function to add to the
7115 loaded-features index all the required entries for `feature`.
7117 * vm_core.h (rb_vm_struct): add fields.
7119 * vm.c (rb_vm_mark): mark new fields.
7121 * include/ruby/intern.h (rb_hash_clear): declare function.
7123 * hash.c (rb_hash_clear): make function non-static.
7124 Patch by Greg Price.
7125 [ruby-core:47970] [Bug #7158]
7127 Mon Nov 5 23:23:51 2012 Greg Price <price@mit.edu>
7129 * array.c (rb_ary_shared_with_p): new function.
7130 Expose whether two arrays are shared (read-only, C only).
7132 * include/ruby/intern.h (rb_ary_shared_with_p): declare.
7133 Patch by Greg Price.
7134 [ruby-core:47970] [Bug #7158]
7136 Mon Nov 5 23:21:14 2012 Greg Price <price@mit.edu>
7138 * load.c (loaded_feature_path): clarify and briefly comment
7139 function. These clarifications have no effect on the behavior
7142 * load.c (rb_feature_p): explain the search loop. Especially
7143 useful because the logic is complicated as described in the
7145 Patch by Greg Price.
7146 [ruby-core:47970] [Bug #7158]
7148 Mon Nov 5 22:45:03 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
7155 Mon Nov 5 22:09:26 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
7157 * cygwin/GNUmakefile.in (uncommon.mk): link *.res.o.
7158 EXTOBJES is defined in uncommon.mk. *.res.o setting should be below
7160 [ruby-core:48858] [Bug #7277]
7162 Mon Nov 5 11:35:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
7170 Mon Nov 5 10:57:59 2012 NARUSE, Yui <naruse@ruby-lang.org>
7172 * lib/cgi/core.rb: check if Tempfile is defined before use it.
7174 * lib/cgi/core.rb: remove tempfiles only if tempfiles exist
7176 Mon Nov 5 12:17:00 2012 Zachary Scott <zachary@zacharyscott.net>
7178 * lib/uri/http.rb (URI::HTTP.build): Fix example
7179 Patch by Carina C. Zona
7182 Mon Nov 5 09:55:05 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
7184 * lib/cgi/core.rb: remove tempfile more early.
7186 Sun Nov 4 20:29:46 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
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 !
7192 Sun Nov 4 11:47:39 2012 Masaki Matsushita <glass.saga@gmail.com>
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]
7198 Sun Nov 4 11:27:54 2012 Masaki Matsushita <glass.saga@gmail.com>
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
7204 * test/ruby/test_array.rb: add a test for the above.
7206 Sun Nov 4 10:19:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7208 * dir.c (file_s_fnmatch): match with expanding braces if FNM_EXTGLOB
7209 is set. [ruby-core:40037] [Feature #5422]
7211 Sat Nov 3 23:38:15 2012 Tadayoshi Funaba <tadf@dotrb.org>
7213 * complex.c: modified doc.
7214 * rational.c: ditto.
7216 Sat Nov 3 22:38:55 2012 Tadayoshi Funaba <tadf@dotrb.org>
7218 * ext/date/date_core.c: modified doc.
7220 Sat Nov 3 18:35:55 2012 Kazuki Tsujimoto <kazuki@callcc.net>
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'.
7225 Sat Nov 3 18:15:24 2012 Kazuki Tsujimoto <kazuki@callcc.net>
7227 * vm.c, proc.c: avoid unnecessary `rb_vm_rewrite_ep_in_errinfo'
7230 Sat Nov 3 17:53:43 2012 Kouhei Sutou <kou@cozmixng.org>
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
7235 * lib/test/unit.rb (Test::Unit::AutoRunner): Move codes from testrb.
7237 Sat Nov 3 14:56:21 2012 Tadayoshi Funaba <tadf@dotrb.org>
7239 * ext/date/date_parse.c (parse_eu): should capture apostrophe too.
7241 Sat Nov 3 14:46:15 2012 Tadayoshi Funaba <tadf@dotrb.org>
7243 * ext/date/date_parse.c (date__parse): revised the tight parser.
7245 Sat Nov 3 14:43:42 2012 Kouhei Sutou <kou@cozmixng.org>
7247 * lib/rexml/xmldecl.rb (REXML::XMLDecl#content): Add missing \A
7250 Sat Nov 3 14:42:55 2012 Kouhei Sutou <kou@cozmixng.org>
7252 * lib/rexml/output.rb (REXML::Output#initialize): Use normalized
7255 Sat Nov 3 14:41:17 2012 Kouhei Sutou <kou@cozmixng.org>
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.
7261 Sat Nov 3 14:09:55 2012 Kouhei Sutou <kou@cozmixng.org>
7263 * NEWS: Add an item about REXML::Document#write.
7265 Sat Nov 3 13:46:49 2012 Kouhei Sutou <kou@cozmixng.org>
7267 * test/rexml/test_document.rb: Fix tests that expect encoding name
7270 Sat Nov 3 13:26:00 2012 Zachary Scott <zachary@zacharyscott.net>
7273 Documentation for pattern section, backslash subsection
7274 Patch by Eric Bouchut
7275 [ruby-core:48528] [Bug #7230]
7277 Sat Nov 3 13:26:00 2012 Zachary Scott <zachary@zacharyscott.net>
7280 Documentation for IO#open modes and formatting
7281 [ruby-core:48052] [Bug #7179]
7283 Sat Nov 3 13:01:02 2012 Kouhei Sutou <kou@cozmixng.org>
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.
7289 Sat Nov 3 12:49:45 2012 Kouhei Sutou <kou@cozmixng.org>
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
7297 * test/rexml/test_document.rb: Update tests for the above change.
7299 Sat Nov 3 12:18:35 2012 Masaki Matsushita <glass.saga@gmail.com>
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]
7305 Sat Nov 3 12:06:15 2012 Kouhei Sutou <kou@cozmixng.org>
7307 * test/rexml/test_xml_declaration.rb (TestXmlDeclaration#test_*):
7308 Remove needless prefix from test names.
7310 Sat Nov 3 12:04:52 2012 Kouhei Sutou <kou@cozmixng.org>
7312 * test/rexml/test_xml_declaration_parent_child.rb: Rename to ...
7313 * test/rexml/test_xml_declaration.rb: ... this.
7315 Sat Nov 3 11:43:00 2012 Zachary Scott <zachary@zacharyscott.net>
7317 * hash.c (rb_hash_delete): Correct grammar
7318 Patch by Glenn Oppegard
7321 Sat Nov 3 11:28:28 2012 Narihiro Nakamura <authornari@gmail.com>
7323 * NEWS: add a news about GC::Profiler.raw_data.
7325 Sat Nov 3 11:01:32 2012 Narihiro Nakamura <authornari@gmail.com>
7327 * NEWS: add a news about rb_newobj_of() and NEWOBJ_OF().
7329 Sat Nov 3 10:17:41 2012 Narihiro Nakamura <authornari@gmail.com>
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.
7338 * test/ruby/test_method.rb: related test.
7340 Sat Nov 3 09:03:34 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
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.
7350 Sat Nov 3 04:14:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
7356 Fri Nov 2 20:11:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7358 * lib/mkmf.rb (MakeMakefile#timestamp_file): remove @ which looks like
7359 configure variables.
7361 * lib/mkmf.rb (MakeMakefile#timestamp_file): use .-. instead of !, a
7362 special character of NMAKE and BSD make. [Bug #7265]
7364 Fri Nov 2 17:55:39 2012 Shota Fukumori <sorah@tubusu.net>
7366 * lib/test/unit.rb (_run_parallel): Delete status line before showing
7367 results. Patch by Hiroshi Shirosaki. [Bug #6897] [ruby-core:47250]
7369 * lib/test/unit.rb (_run_parallel): Fix strange result when disabled retrying.
7370 Patch by Hiroshi Shirosaki. [Bug #6897] [ruby-core:47250]
7372 Fri Nov 2 17:52:12 2012 Shugo Maeda <shugo@ruby-lang.org>
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
7379 * eval.c (rb_mod_refine): store information on a refinement for the
7382 * test/ruby/test_refinement.rb: related test.
7384 Fri Nov 2 16:57:52 2012 Shota Fukumori <sorah@tubusu.net>
7386 * vm_dump.c (rb_vm_bugreport): Because of many log directories,
7387 making directory lists readable.
7389 Fri Nov 2 16:44:00 2012 Kenta Murata <mrkn@mrkn.jp>
7391 * vm_dump.c (rb_vm_bugreport): add ~/Library/Logs/DiagnosticReports
7392 in the locations list of crash reports.
7394 Fri Nov 2 14:52:52 2012 Masaki Matsushita <glass.saga@gmail.com>
7396 * array.c (recursive_equal): performance improvement by avoiding
7397 overhead to call rb_ary_elt().
7398 [ruby-dev:45412] [Feature #6177]
7400 Fri Nov 2 14:47:53 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
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.
7410 * test/ruby/test_refinement.rb: related test.
7412 Fri Nov 2 08:24:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7414 * proc.c (top_define_method): new method, main.define_method.
7415 [ruby-core:45715] [Feature #6609]
7417 * eval.c (top_include): fix a warning message, main is not a class or
7420 Fri Nov 2 04:41:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7422 * lib/mkmf.rb (MakeMakefile#timestamp_file): use ! instead of %, a GNU
7423 make special character.
7425 Fri Nov 2 04:40:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7427 * test/ruby/test_process.rb (test_execopts_preserve_env_on_exec_failure):
7428 use never existing file in the current temporary directory.
7430 Fri Nov 2 04:23:20 2012 NARUSE, Yui <naruse@ruby-lang.org>
7432 * tool/merger.rb: add feature to tag preview/rc.
7434 Fri Nov 2 03:23:37 2012 NARUSE, Yui <naruse@ruby-lang.org>
7436 * lib/mkmf.rb: fix for if config["libdir"] is nil.
7438 Thu Nov 1 23:06:01 2012 NARUSE, Yui <naruse@ruby-lang.org>
7440 * tool/make-snapshot: fix wrong regexp for releasing preview.
7443 Thu Nov 1 22:27:11 2012 Koichi Sasada <ko1@atdot.net>
7445 * NEWS: add a news about objspace,
7446 ObjectSpace.reachable_objects_from.
7448 Thu Nov 1 21:57:00 2012 Kenta Murata <mrkn@mrkn.jp>
7450 * ext/bigdecimal/bigdecimal.c (BigDecimal_new),
7451 test/bigdecimal/test_bigdecimal.rb:
7452 Fix exception message of BigDecimal constructor with a Float.
7454 Thu Nov 1 21:52:20 2012 Kenta Murata <mrkn@mrkn.jp>
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]
7461 Thu Nov 1 21:42:20 2012 Yusuke Endoh <mame@tsg.ne.jp>
7463 * test/ruby/test_process.rb: Revert r37404. My ubuntu box has
7464 actually the directory named "/nonexistent"... Sorry.
7466 Thu Nov 1 21:28:28 2012 Yusuke Endoh <mame@tsg.ne.jp>
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.
7472 Thu Nov 1 21:19:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7474 * iseq.c (set_relation): parent_iseq need to be set regardless iseq
7477 Thu Nov 1 19:47:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7479 * thread_pthread.c (RUBY_STACK_MIN): may not a compile time constant.
7480 fix r37079. [ruby-dev:46322] [Bug #7247]
7482 Thu Nov 1 16:44:36 2012 Shugo Maeda <shugo@ruby-lang.org>
7484 * NEWS: add note for Module#refine, Module#refinements,
7485 Module#using, and Kernel#using.
7487 Thu Nov 1 14:41:47 2012 Shugo Maeda <shugo@ruby-lang.org>
7489 * eval.c (rb_using_module): using should be used indirectly.
7490 [ruby-dev:46326] [Feature #7251]
7492 Wed Oct 31 18:17:38 2012 Narihiro Nakamura <authornari@gmail.com>
7494 * gc.c (gc_profile_record): don't define unused variables when
7495 GC_PROFILE_MORE_DETAIL is 0.
7497 Wed Oct 31 18:10:53 2012 Narihiro Nakamura <authornari@gmail.com>
7499 * gc.c (gc_prof_mark_timer_stop): count is not initialized.
7501 Wed Oct 31 09:28:24 2012 Eric Hodel <drbrain@segment7.net>
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.
7507 Wed Oct 31 09:06:54 2012 Eric Hodel <drbrain@segment7.net>
7509 * thread.c (rb_thread_call_without_gvl2): Update documentation to
7511 * thread.c (rb_thread_call_with_gvl): ditto.
7513 Wed Oct 31 02:53:07 2012 Aaron Patterson <aaron@tenderlovemaking.com>
7515 * ext/dl/lib/dl/struct.rb: fix strange require order. [ruby-dev:45702]
7517 * ext/dl/lib/dl/value.rb: ditto
7519 * test/dl/test_c_struct_entry.rb: remove strange require order from
7522 * test/dl/test_c_union_entity.rb: ditto
7524 Tue Oct 30 23:59:32 2012 Shugo Maeda <shugo@ruby-lang.org>
7526 * eval.c (rb_mod_refine): fix the error message when no block is
7527 given. [ruby-dev:46319] [Bug #7244]
7529 * test/ruby/test_refinement.rb: related test.
7531 Tue Oct 30 19:27:48 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
7539 * io.c (rb_cloexec_dup2): ditto.
7541 Tue Oct 30 03:08:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7543 * lib/rbconfig/obsolete.rb (Config): re-introduce warnings for a
7544 lame-duck. [ruby-core:46836] [Bug #6809]
7546 Tue Oct 30 02:20:10 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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]
7554 * test/ruby/test_thread.rb: tests for thread variables.
7556 Mon Oct 29 18:22:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7558 * ext/stringio/stringio.c (strio_close): close separately per each
7559 instances, as well as IO.
7561 Mon Oct 29 10:22:00 2012 Aaron Patterson <aaron@tenderlovemaking.com>
7563 * ext/psych/lib/psych/handlers/recorder.rb: added a class for
7564 recording YAML parse and emit events.
7566 * ext/psych/lib/psych/handler.rb: adding a list of events so that
7567 handler classes can more easily be meta-programmed.
7569 * test/psych/handlers/test_recorder.rb: tests for the change.
7571 Mon Oct 29 05:48:52 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
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
7578 Mon Oct 29 03:20:58 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
7580 * lib/matrix.rb: Fix determinant_e [ruby-dev:46305] [Bug #7228]
7582 Sun Oct 28 23:52:25 2012 Kouhei Sutou <kou@cozmixng.org>
7584 * test/rexml/test_document.rb: Add tests for parsing XML encoded
7587 Sun Oct 28 23:47:09 2012 Kouhei Sutou <kou@cozmixng.org>
7589 * lib/rexml/source.rb: Move encoding detection code to base class.
7590 * lib/rexml/encoding.rb: Remove needless encoding detection code.
7592 Sun Oct 28 21:40:13 2012 Kouhei Sutou <kou@cozmixng.org>
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
7597 * test/rexml/test_document.rb: Add tests for the above change.
7599 Sun Oct 28 21:37:34 2012 Kouhei Sutou <kou@cozmixng.org>
7601 * test/rexml/test_document.rb: Group tests that they parse
7602 UTF-16XX encoded XML that has encoding="UTF-16" in XML declaration.
7604 Sun Oct 28 21:25:11 2012 Kouhei Sutou <kou@cozmixng.org>
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
7614 Sun Oct 28 21:18:37 2012 Kouhei Sutou <kou@cozmixng.org>
7616 * test/rexml/test_document.rb: Add tests for parsing XML encoded
7619 Sun Oct 28 19:12:11 2012 Tadayoshi Funaba <tadf@dotrb.org>
7621 * ext/date/date_parse.c (iso8601_{ext,bas}_time): should not match
7624 Sun Oct 28 18:51:33 2012 Tadayoshi Funaba <tadf@dotrb.org>
7626 * ext/date/date_parse.c (date__parse): revised the tight parser.
7628 Sun Oct 28 15:41:50 2012 Kouhei Sutou <kou@cozmixng.org>
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.
7635 Sun Oct 28 15:00:19 2012 Kouhei Sutou <kou@cozmixng.org>
7637 * lib/rexml/document.rb (REXML::Document#write): Remove needless
7640 Sun Oct 28 14:59:14 2012 Kouhei Sutou <kou@cozmixng.org>
7642 * lib/rexml/document.rb (REXML::Document#write): Accept options
7644 * test/rexml/test_document.rb: Add tests for the above change.
7646 Sun Oct 28 14:09:44 2012 Kouhei Sutou <kou@cozmixng.org>
7648 * lib/rexml/document.rb (REXML::Document#write): Fix wrong usage
7651 Sun Oct 28 14:03:48 2012 Kouhei Sutou <kou@cozmixng.org>
7653 * lib/rexml/document.rb (REXML::Document#write): Fix wrong method
7656 Sun Oct 28 10:12:15 2012 Aaron Patterson <aaron@tenderlovemaking.com>
7658 * ext/psych/lib/psych/visitors/yaml_tree.rb: `tree` should return the
7659 same thing on every call.
7661 * test/psych/visitors/test_yaml_tree.rb: related test.
7663 Sun Oct 28 10:05:03 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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.
7668 * test/psych/visitors/test_yaml_tree.rb: related test.
7670 Sun Oct 28 08:23:16 2012 Koichi Sasada <ko1@atdot.net>
7672 * bignum.c (bignew_1): Bignum instances are frozen.
7675 * include/ruby/ruby.h: Fixnum instances are also frozen.
7677 * class.c (singleton_class_of): check Bignum before
7680 * test/ruby/test_bignum.rb: add a test.
7682 * test/ruby/test_fixnum.rb: ditto.
7684 * test/ruby/marshaltestlib.rb, test/ruby/test_eval.rb,
7685 test/ruby/test_object.rb: catch up above changes.
7687 Sun Oct 28 04:38:06 2012 Koichi Sasada <ko1@atdot.net>
7689 * vm.c (vm_define_method): remove type and frozen checking.
7690 Checking is done in `rb_singleton_class()'.
7692 Sun Oct 28 00:49:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7694 * parse.y (assign_in_cond): warn for static content object assignments
7695 in conditional statements. [ruby-dev:43083] [Feature #4299]
7697 Sat Oct 27 23:33:41 2012 Benoit Daloze <eregontp@gmail.com>
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]
7703 Sat Oct 27 11:01:10 2012 Koichi Sasada <ko1@atdot.net>
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>.
7710 * class.c (singleton_class_of): raise TypeError when
7711 trying to define a singleton method on Float objects.
7713 * vm.c (vm_define_method): ditto.
7715 * test/ruby/marshaltestlib.rb: catch up above changes.
7717 * test/ruby/test_class.rb: ditto.
7719 * test/test_pp.rb: ditto.
7721 Sat Oct 27 10:50:53 2012 Aaron Patterson <aaron@tenderlovemaking.com>
7723 * object.c (rb_mod_const_get): make sure the constant name is
7724 converted to a string before searching. [ruby-core:48405]
7726 Sat Oct 27 10:12:13 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
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]
7733 * parse.y (ripper_initialize): ditto.
7735 Sat Oct 27 10:07:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
7741 Sat Oct 27 10:05:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7743 * include/ruby/win32.h (fstat): use _fstati64() instead of fstati64()
7746 Sat Oct 27 06:28:33 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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]
7751 * test/ruby/test_module.rb: tests for new behavior
7753 Fri Oct 26 13:24:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7755 * parse.y (literal_concat_gen): merge fixed strings across
7756 concatenated literals, after an interpolation.
7758 Thu Oct 25 17:48:54 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
7765 Thu Oct 25 15:00:08 2012 Koichi Sasada <ko1@atdot.net>
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()'.
7773 * method.h, vm_method.c (rb_add_method_cfunc_frameless): removed.
7775 Thu Oct 25 13:35:07 2012 NAKAMURA Usaku <usa@ruby-lang.org>
7777 * tool/mkconfig.rb: remove string literal concatenation.
7779 Wed Oct 24 18:49:16 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7781 * ext/objspace/objspace.c (type2sym, count_objects_size): use enum
7782 instead of size_t which may be larger than actual values.
7784 Wed Oct 24 17:41:24 2012 Koichi Sasada <ko1@atdot.net>
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'.
7791 Wed Oct 24 11:57:24 2012 Narihiro Nakamura <authornari@gmail.com>
7793 * gc.c (gc_prepare_free_objects): rename to match the behavior of
7796 Wed Oct 24 11:55:19 2012 Koichi Sasada <ko1@atdot.net>
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.
7804 * ext/objspace/objspace.c (type2sym): bug fix.
7805 Should use `i' instead of `type'.
7807 Wed Oct 24 10:33:09 2012 Koichi Sasada <ko1@atdot.net>
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().
7813 Wed Oct 24 10:17:45 2012 Koichi Sasada <ko1@atdot.net>
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.
7819 Wed Oct 24 08:55:04 2012 Koichi Sasada <ko1@atdot.net>
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.
7831 * gc.c (rb_objspace_reachable_objects_from), gc.h: change
7832 an interface of 'rb_objspace_reachable_objects_from()'
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.
7838 Wed Oct 24 05:52:36 2012 Koichi Sasada <ko1@atdot.net>
7840 * vm_insnhelper.c (vm_call_method): remove `default' and
7841 add a case for `VM_METHOD_TYPE_UNDEF'.
7843 Wed Oct 24 05:41:18 2012 Koichi Sasada <ko1@atdot.net>
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
7849 Wed Oct 24 05:17:52 2012 Koichi Sasada <ko1@atdot.net>
7851 * vm_eval.c (vm_call0_body): remove RUBY_VM_CHECK_INTS()
7852 after method invocation using rb_call0().
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'.
7858 * vm_eval.c (vm_call0_body): remove useless brackets.
7860 Tue Oct 23 22:34:49 2012 Koichi Sasada <ko1@atdot.net>
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).
7867 Tue Oct 23 17:08:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
7869 * ruby.c (usage, process_options): show more info in --help.
7870 [EXPERIMENTAL] [ruby-core:48072] [Bug #7184]
7872 Tue Oct 23 14:20:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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>.
7878 Tue Oct 23 14:06:47 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
7884 Tue Oct 23 12:57:29 2012 Koichi Sasada <ko1@atdot.net>
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
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.
7907 * vm_insnhelper.c, vm.c: add VM_PROFILE* macros to measure behaviour
7908 of VM internals. I will extend this feature.
7910 * vm_method.c, method.h: change parameters of the `invoker' function.
7911 Receive `func' pointer as the first parameter.
7913 Tue Oct 23 06:21:05 2012 Aaron Patterson <aaron@tenderlovemaking.com>
7915 * ext/psych/parser.c: just get the constant defined in Ruby.
7917 * ext/psych/lib/psych/syntax_error.rb: Psych::SyntaxError now inherits
7918 from StandardError rather than SyntaxError. Thanks Eric Hodel!
7920 * test/psych/test_exception.rb: tests for change.
7922 Tue Oct 23 06:17:36 2012 Aaron Patterson <aaron@tenderlovemaking.com>
7924 * ext/psych/lib/psych/scalar_scanner.rb: Cache symbols while
7925 tokenizing. Thanks Kevin Menard!
7927 Tue Oct 23 06:15:40 2012 Aaron Patterson <aaron@tenderlovemaking.com>
7929 * ext/psych/lib/psych/scalar_scanner.rb: Updated the RegExp to catch
7930 Strings earlier in the tokenization process. Thanks Kevin Menard!
7932 Tue Oct 23 06:12:39 2012 Aaron Patterson <aaron@tenderlovemaking.com>
7934 * ext/psych/lib/psych/visitors/to_ruby.rb: Handle nil tags specially
7935 to avoid slow method_missing calls. Thanks Kevin Menard!
7937 Tue Oct 23 06:07:57 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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!
7944 * test/psych/test_scalar_scanner.rb: appropriate tests.
7946 Tue Oct 23 06:04:07 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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.
7952 * test/psych/test_scalar_scanner.rb: test for fix
7954 Tue Oct 23 06:00:41 2012 Aaron Patterson <aaron@tenderlovemaking.com>
7956 * ext/psych/lib/psych.rb: Changed comment in psych.rb to update new
7957 home page for libyaml. Thanks to Carolyn Ann.
7959 Sun Oct 21 19:12:59 2012 Kazuki Tsujimoto <kazuki@callcc.net>
7961 * vm_core.h (rb_vm_t::trace_running): add a new field
7962 `trace_running' to store vm global tracing status.
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]
7968 Sun Oct 21 19:12:42 2012 Kazuki Tsujimoto <kazuki@callcc.net>
7970 * vm_core.h (rb_vm_t::trace_flag): remove `trace_flag'
7971 which is no longer used.
7973 Sun Oct 21 18:34:27 2012 Tadayoshi Funaba <tadf@dotrb.org>
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.
7979 Sat Oct 20 15:35:06 2012 Narihiro Nakamura <authornari@gmail.com>
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
7989 * array.c: use new C API.
7993 * ext/socket/ancdata.c: ditto
7994 * ext/socket/option.c: ditto
8006 [Feature #7177][Feature #7047]
8008 Sat Oct 20 12:50:00 2012 Zachary Scott <zachary@zacharyscott.net>
8010 * ext/socket/socket.c: Documentation for Socket
8011 Based on a patch by David Albert
8012 [Bug #7105] [ruby-core:47828]
8014 Sat Oct 20 11:00:00 2012 Zachary Scott <zachary@zacharyscott.net>
8016 * lib/open-uri.rb: Documentation for OpenURI
8018 Sat Oct 20 06:18:34 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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.
8023 Fri Oct 19 22:22:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8025 * vm.c (rb_vm_jump_tag_but_local_jump): pass through thrown objects.
8026 [ruby-dev:46234] [Bug #7185]
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.
8031 Fri Oct 19 22:11:55 2012 Benoit Daloze <eregontp@gmail.com>
8033 * pack.c (pack_unpack): set encoding of the
8034 'H','h','B' and 'B' modifiers to US-ASCII.
8036 * test/ruby/test_pack.rb: tests for the above.
8037 [ruby-core:47653][Bug #7050]
8039 * test/test_securerandom.rb: tests for SecureRandom.hex
8040 from tenderlove. [ruby-core:46792][Bug #6799]
8042 Fri Oct 19 19:29:11 2012 Koichi Sasada <ko1@atdot.net>
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.
8052 * vm_core.h (rb_call_info_t::aux::func): add a new field to store
8053 cfunc body function pointer.
8055 * vm_method.c (call_cfunc_invoker_func): add a new function which
8056 returns a suitable invoke function.
8058 * vm_method.c (setup_method_cfunc_struct): added.
8060 * vm_method.c (rb_add_method): fix to set `invoker'.
8062 * vm_eval.c (vm_call0_body): catch up above changes.
8064 * vm_insnhelper.c (call_cfunc): removed.
8066 * vm_insnhelper.c (vm_call_cfunc): fix to call cfunc body
8067 with `invoker' function.
8069 Fri Oct 19 16:55:58 2012 Koichi Sasada <ko1@atdot.net>
8071 * eval.c, vm_eval.c: use TH_PUSH_TAG() instead of PUSH_TAG().
8073 Fri Oct 19 11:13:55 2012 Koichi Sasada <ko1@atdot.net>
8075 * benchmark/driver.rb: remove unexpected `output'.
8078 Fri Oct 19 10:24:03 2012 Koichi Sasada <ko1@atdot.net>
8080 * vm_insnhelper.c (vm_search_method): remove needless local variable.
8082 Fri Oct 19 10:22:26 2012 Koichi Sasada <ko1@atdot.net>
8084 * benchmark/bmx_temp.rb: removed.
8085 This file should not be in repository.
8087 Fri Oct 19 10:20:10 2012 Koichi Sasada <ko1@atdot.net>
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])
8093 Thu Oct 18 18:42:35 2012 Koichi Sasada <ko1@atdot.net>
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).
8099 Thu Oct 18 18:29:25 2012 Koichi Sasada <ko1@atdot.net>
8101 * insns.def (send): remove unused condition.
8102 This condition will be true after r37258.
8104 * vm_insnhelper.c (vm_caller_setup_args): remove `UNLIKELY' on
8105 checking blockiseq (it seems `LIKELY').
8107 Thu Oct 18 17:31:58 2012 Koichi Sasada <ko1@atdot.net>
8109 * insns.def (opt_send_simple): introduce new instruction used
8110 when no need to care about block and splat.
8112 * compile.c: use the `opt_send_simple' instruction.
8114 Thu Oct 18 16:44:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8116 * vm_method.c (rb_add_method_cfunc, rb_add_method_cfunc_frameless):
8117 check arity earlier at definition time.
8119 Thu Oct 18 15:11:31 2012 Koichi Sasada <ko1@atdot.net>
8121 * vm_insnhelper.c: add `inline' keyword to several functions.
8122 Compilers (gcc) are conservative than I expected.
8124 Thu Oct 18 15:01:15 2012 Koichi Sasada <ko1@atdot.net>
8126 * include/ruby/ruby.h: add a decl. of
8127 `rb_define_frameless_method()'.
8129 Thu Oct 18 14:31:17 2012 Koichi Sasada <ko1@atdot.net>
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.
8136 Thu Oct 18 14:11:08 2012 Koichi Sasada <ko1@atdot.net>
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.
8143 * method.h (VM_METHOD_TYPE_CFUNC_FRAMELESS): rename macro name
8144 from VM_METHOD_TYPE_CFUNC_FAST.
8146 * vm_insnhelper.c, vm_method.c: rename related functions.
8148 * proc.c (rb_method_entry_arity): catch up above changes.
8150 Thu Oct 18 10:30:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8152 * parse.y (assignable_gen): fail if yyerror occurred. fix a bug in
8155 Thu Oct 18 09:23:03 2012 Aaron Patterson <aaron@tenderlovemaking.com>
8157 * hash.c (initialize_copy): duping should rehash the hash.
8159 * test/ruby/test_hash.rb: added a test to ensure rehash.
8161 Wed Oct 17 21:16:47 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
8163 * common.mk (WPROGRAM): need same dependencies as PROGRAM.
8165 * cygwin/GNUmakefile.in (uncommon.mk): move include position
8166 below WPROGRAM definition to be defined in uncommon.mk.
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]
8174 Wed Oct 17 16:25:34 2012 Koichi Sasada <ko1@atdot.net>
8176 * benchmark/bm_vm2_method_missing.rb: add a benchmark to measure
8177 performance of invoking `method_missing'.
8179 Wed Oct 17 16:23:17 2012 Koichi Sasada <ko1@atdot.net>
8181 * vm_insnhelper.c (vm_getivar): fix to use `aux.index' instead of
8184 Wed Oct 17 16:03:54 2012 Koichi Sasada <ko1@atdot.net>
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.
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()'.
8196 Wed Oct 17 15:33:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8198 * configure.in (opt-dir): allow multiple directories separated by
8199 $PATH_SEPARATOR as well as dir_config in mkmf.rb. [ruby-core:47868]
8202 Wed Oct 17 15:08:13 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
8210 * test/net/imap/test_imap_response_parser.rb: related test.
8212 Wed Oct 17 11:04:48 2012 NAKAMURA Usaku <usa@ruby-lang.org>
8214 * test/ruby/test_hash.rb (TestHash#test_dup_equality): added a new test
8215 to show the problem of r37232.
8217 Wed Oct 17 10:48:40 2012 Shugo Maeda <shugo@ruby-lang.org>
8219 * vm_insnhelper.c (vm_search_method): fix a build error that occurs
8220 when OPT_INLINE_METHOD_CACHE is 0.
8222 Wed Oct 17 08:46:47 2012 Koichi Sasada <ko1@atdot.net>
8224 * benchmark/bm_vm2_dstr.rb: add a benchmark to measure
8225 performance of dynamic generated string ("foo#{bar}baz").
8227 Wed Oct 17 08:32:46 2012 Koichi Sasada <ko1@atdot.net>
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.
8237 Wed Oct 17 08:02:57 2012 Koichi Sasada <ko1@atdot.net>
8239 * thread.c (rb_threadptr_interrupt_mask): fix to check interrupt
8240 after interrupt_mask changed.
8242 Wed Oct 17 06:42:47 2012 Koichi Sasada <ko1@atdot.net>
8244 * vm_insnhelper.c (vm_call_method): fix to return value immediately.
8245 Remove CHECK_INTS() after that method dispatch.
8247 Wed Oct 17 06:25:56 2012 Aaron Patterson <aaron@tenderlovemaking.com>
8249 * hash.c (initialize_copy): copy the underlying st_table on dup,
8250 rather than copying the hash key by key. [ruby-core:48009]
8252 * test/ruby/test_hash.rb: relevant tests for initialize_copy
8254 Wed Oct 17 06:17:44 2012 Koichi Sasada <ko1@atdot.net>
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.
8260 Wed Oct 17 05:35:37 2012 Koichi Sasada <ko1@atdot.net>
8262 * benchmark/bm_vm1_yield.rb: add a benchmark to measure `yield'
8263 (invoke empty block) performance.
8265 * benchmark/bm_vm2_method_with_block.rb: add a benchmark to measure
8266 method invocation with empty block.
8268 Wed Oct 17 05:05:07 2012 Koichi Sasada <ko1@atdot.net>
8270 * vm_insnhelper.c (vm_invoke_block): vm_caller_setup_args() can skip
8271 when splat flag is not set.
8273 Wed Oct 17 01:53:47 2012 Koichi Sasada <ko1@atdot.net>
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'.
8281 * insns.def ((get|set)instancevariable): use new wrapper functions
8282 vm_(get|set)instancevariable() defined in vm_insnhelper.c.
8284 * vm_core.h (rb_call_info_t::aux): introduce new union data because
8285 opt_pc can share with index.
8287 Tue Oct 16 22:24:44 2012 Koichi Sasada <ko1@atdot.net>
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.
8293 Tue Oct 16 21:59:01 2012 Koichi Sasada <ko1@atdot.net>
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.
8306 Tue Oct 16 14:56:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8308 * file.c (rb_file_join): need to check again after any conversion run.
8309 [ruby-core:48012] [Bug #7168]
8311 Tue Oct 16 12:52:14 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
8313 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_file):
8314 rename from file_assertion.
8316 Tue Oct 16 11:30:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8318 * file.c (rb_file_join): hide the result under construction until
8321 * file.c (rb_file_join): check nul-byte only for strings, since
8322 FilePathStringValue() does it. [ruby-core:48012] [Bug #7168]
8324 * file.c (rb_file_join): path names must be ASCII-compatible.
8325 [ruby-core:48012] [Bug #7168]
8327 * file.c (check_path_encoding): new function to ensure path name
8328 encoding to be ASCII-compatible.
8330 Tue Oct 16 09:40:04 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
8336 Tue Oct 16 09:30:30 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
8342 Tue Oct 16 06:44:06 2012 Koichi Sasada <ko1@atdot.net>
8344 * vm_insnhelper.c (VM_CALLEE_SETUP_ARG): fix wrong condition.
8346 Tue Oct 16 06:29:18 2012 Koichi Sasada <ko1@atdot.net>
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.
8353 * bootstraptest/test_method.rb: add a test to check an above issue.
8355 Tue Oct 16 06:15:44 2012 Koichi Sasada <ko1@atdot.net>
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).
8366 * class.c (rb_define_method_fast): added.
8367 Maybe it will be renamed soon.
8369 * vm_insnhelper.c (vm_call_method): support method type
8370 VM_METHOD_TYPE_CFUNC_FAST.
8372 * proc.c (rb_method_entry_arity): catch up new method type.
8374 * vm_method.c (rb_add_method_cfunc_fast): added.
8376 Tue Oct 16 02:32:29 2012 Koichi Sasada <ko1@atdot.net>
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.
8383 * vm_insnhelper.c (vm_call_method): Pass `0' for `enabled' parameter
8384 of CI_SET_FASTPATH if this method is protected.
8386 Tue Oct 16 02:17:35 2012 Koichi Sasada <ko1@atdot.net>
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.
8393 * compile.c, iseq.c, insns.def, vm_insnhelper.c: ditto.
8395 Mon Oct 15 22:14:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8397 * test/ruby/envutil.rb (Test::Unit::Assertions#file_assertion):
8398 rewrite file assertions.
8400 Mon Oct 15 09:41:17 2012 Koichi Sasada <ko1@atdot.net>
8402 * vm_insnhelper.c (VM_CALLEE_SETUP_ARG): skip CI_SET_FASTPATH() if
8403 it was called from vm_yield_setup_args().
8405 Mon Oct 15 05:20:13 2012 Koichi Sasada <ko1@atdot.net>
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'.
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.
8419 Note that this optimization is now experimental.
8420 If you find any problem about it, please tell us.
8422 Mon Oct 15 04:51:55 2012 Koichi Sasada <ko1@atdot.net>
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)
8429 * vm_core.h: add `opt_pc' field in `rb_call_info_t'
8430 as temporal variable.
8432 * vm_eval.c (vm_call0_body): catch up above changes.
8434 Mon Oct 15 03:51:46 2012 Koichi Sasada <ko1@atdot.net>
8436 * benchmark/bm_vm1_attr_ivar(_set).rb: added (for method dispatch speed).
8438 * benchmark/bm_vm1_float_simple.rb: added (for flonum/float).
8440 Mon Oct 15 02:51:16 2012 Koichi Sasada <ko1@atdot.net>
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.
8447 Mon Oct 15 01:38:06 2012 Koichi Sasada <ko1@atdot.net>
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
8454 This technique simplifies parameter passing at related
8455 function calls (~10% speedups for simple method invocation at
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
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).
8468 * compile.c: catch up above changes.
8470 * iseq.c: catch up above changes (especially for TS_CALLINFO).
8472 * tool/instruction.rb: catch up above changes.
8474 * vm_insnhelper.c, vm_insnhelper.h: ditto. Macros and functions
8475 parameters are changed.
8477 * vm_eval.c (vm_call0): ditto (it will be rewritten soon).
8479 Sun Oct 14 12:30:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8481 * ruby.c (rb_f_sub, rb_f_gsub): pass the given block.
8482 [ruby-core:47967] [Bug #7157]
8484 Sat Oct 13 23:15:39 2012 NAKAMURA Usaku <usa@ruby-lang.org>
8486 * regparse.c (parse_char_class): should match with a hyphen after a
8487 range in a character class.
8489 * test/ruby/test_regexp.rb (TestRegexp#test_char_class): fixed wrong
8492 * test/ruby/test_regexp.rb (TestRegexp#check): now can accept the
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.
8499 * test/ruby/test_regexp.rb
8500 (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): added
8503 Sat Oct 13 03:01:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8505 * file.c (realpath_rec): prevent link from GC while link_names refers
8508 Sat Oct 13 01:37:48 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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]
8514 Fri Oct 12 21:55:08 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
8521 Fri Oct 12 21:37:25 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
8528 Fri Oct 12 20:40:29 2012 Tanaka Akira <akr@fsij.org>
8530 * process.c (posix_sh_cmds): the command name of colon is ":".
8532 Fri Oct 12 18:18:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8534 * file.c (rb_get_path_check): path name must not contain NUL bytes.
8536 Fri Oct 12 16:06:20 2012 NAKAMURA Usaku <usa@ruby-lang.org>
8538 * tool/merger.rb: now can merge revision(s) without --ticket again.
8540 Fri Oct 12 14:10:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8542 * lib/mkmf.rb (dir_config, init_mkmf): use configured libdir value as
8543 default library path. [ruby-core:43726] [Bug #6207]
8545 Fri Oct 12 05:25:00 2012 Zachary Scott <zzak@ruby-lang.org>
8547 * lib/timeout.rb (timeout):
8548 Remove paragraph on wrong implementation detail.
8549 [ruby-core:47739] [Bug #7088]
8551 Thu Oct 11 23:09:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
8556 Thu Oct 11 07:40:50 2012 NARUSE, Yui <naruse@ruby-lang.org>
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*.
8561 Thu Oct 11 03:37:08 2012 Koichi Sasada <ko1@atdot.net>
8563 * bootstraptest/test_block.rb: add tests for block with super.
8565 Thu Oct 11 02:54:07 2012 Koichi Sasada <ko1@atdot.net>
8567 * vm_dump.c: fix debug prints to catch up recent changes
8568 such as VM data structures.
8570 Thu Oct 11 02:50:34 2012 Koichi Sasada <ko1@atdot.net>
8572 * iseq.c (insn_operand_intern): add support disasm TS_CALLINFO
8575 Wed Oct 10 15:12:48 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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].
8581 Tue Oct 9 23:18:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8583 * test/ruby/envutil.rb (assert_file, assert_file_not): more
8584 descriptive assertions for File predicates.
8586 Tue Oct 9 18:01:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8588 * array.c (rb_ary_sample): use rb_random_ulong_limited, since
8589 precision of long may be larger than double.
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.
8595 Tue Oct 9 17:13:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8597 * process.c (rb_execarg_addopt, rb_execarg_run_options): add :uid and
8598 :gid options. [ruby-core:47414] [Feature #6975]
8600 Tue Oct 9 14:36:11 2012 Koichi Sasada <ko1@atdot.net>
8602 * iseq.c (iseq_free): fix memory leak.
8603 rb_iseq_t::callinfo_entries should be freed.
8605 Tue Oct 9 14:28:18 2012 Koichi Sasada <ko1@atdot.net>
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.
8613 * vm_core.h (rb_iseq_t): add `callinfo_entries' and `callinfo_size'
8614 members to `rb_iseq_t'.
8616 * insns.def, compile.c: Use CALL_INFO instead of IC.
8618 * tool/instruction.rb: support CALL_INFO as operand type.
8620 * vm_insnhelper.c, vm_insnhelper.h: ditto.
8622 Sun Oct 7 23:54:33 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
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]
8630 Mon Oct 8 23:55:41 2012 Shugo Maeda <shugo@ruby-lang.org>
8632 * eval.c (rb_mod_refinements): new method Module#refinements.
8634 * test/ruby/test_refinement.rb: add new tests for the above changes.
8636 Mon Oct 8 23:02:19 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
8641 * eval.c (hidden_identity_hash_new): renamed from identity_hash_new.
8643 Sun Oct 7 04:50:00 2012 Zachary Scott <zzak@ruby-lang.org>
8645 * lib/abbrev.rb: Documentation examples for Abbrev.
8646 [ruby-core:47442] [Bug #6985]
8648 Sun Oct 7 04:50:00 2012 Zachary Scott <zzak@ruby-lang.org>
8650 * thread.c (rb_thread_aref):
8651 Grammar in Thread documentation.
8652 Patch by Steve Klabnik [ruby-core:47799] [Bug #7099]
8654 Sun Oct 7 04:37:00 2012 Zachary Scott <zzak@ruby-lang.org>
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]
8660 Sat Oct 6 18:31:36 2012 Shugo Maeda <shugo@ruby-lang.org>
8662 * vm_opts.h (OPT_GLOBAL_METHOD_CACHE): new build option to
8663 enable/disable global method caching. [ruby-dev:46203] [Bug #7111]
8665 * vm_method.c (rb_method_entry_get_with_omod): don't use global
8666 method cache if OPT_GLOBAL_METHOD_CACHE is 0.
8668 Sat Oct 6 16:32:04 2012 Shugo Maeda <shugo@ruby-lang.org>
8670 * vm_method.c (search_method): check omod only once for performance.
8672 Sat Oct 6 09:42:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8674 * enc/encdb.c, enc/utf_16_32.h (ENC_DUMMY_UNICODE): endian-less wide
8675 UTF encodings are dummy but Unicode.
8677 * encoding.c (rb_encdb_set_unicode): set Unicode flag.
8679 * template/encdb.h.tmpl: allow ENC_DUMMY variants.
8681 * encoding.c (rb_enc_unicode_p): oniguruma provides Unicode flag.
8683 Fri Oct 5 17:18:42 JST 2012 TAKANO Mitsuhiro <tak@no32.tk>
8685 * template/Doxyfile.tmpl: remove SHOW_DIRECTORIES and
8686 HTML_ALIGN_MEMBERS lines. They have been obsolete in
8687 Doxygen version 1.8.2.
8689 Fri Oct 5 15:26:18 2012 Koichi Sasada <ko1@atdot.net>
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.
8697 * test/objspace/test_objspace.rb: add a test for this method.
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.
8704 * gc.h: export rb_objspace_reachable_objects_from().
8706 Thu Oct 4 23:40:04 2012 Narihiro Nakamura <authornari@gmail.com>
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]
8712 Thu Oct 4 22:39:27 2012 Koichi Sasada <ko1@atdot.net>
8714 * insns.def (getlocal, setlocal): remove old getlocal/setlocal
8715 instructions and rename getdaynmic/setdynamic instructions
8716 to getlocal/setlocal.
8720 * iseq.c: remove TS_DINDEX.
8722 * vm_exec.h (dindex_t): remove type definition of `dindex_t'.
8724 * tool/instruction.rb: ditto.
8726 Thu Oct 4 21:44:17 2012 Koichi Sasada <ko1@atdot.net>
8728 * vm.c (vm_analysis_insn|operand|register): use st_insert
8729 instead of using rb_hash_aset() because rb_hash_aset()
8732 Thu Oct 4 21:15:26 2012 Koichi Sasada <ko1@atdot.net>
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.
8758 * tool/instruction.rb: fix macro names.
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).
8763 * vm_dump.c: move codes for collection features to vm.c.
8765 * vm_exec.h: rename macro and function names.
8767 * vm_insnhelper.h: ditto.
8769 Thu Oct 4 18:59:14 2012 Koichi Sasada <ko1@atdot.net>
8771 * test/ruby/test_settracefunc.rb (test_tracepoint):
8772 remove unused test case.
8773 (this test case is redefined by newer tests)
8775 Thu Oct 4 17:24:51 2012 Narihiro Nakamura <authornari@gmail.com>
8777 * gc.c (rb_objspace_call_finalizer): call gc_mark_stacked_objects
8780 Thu Oct 4 16:31:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8782 * gc.c (rb_objspace_call_finalizer): mark self-referencing finalizers
8783 before run finalizers, to fix SEGV from btest on 32bit.
8785 * gc.c (gc_mark_stacked_objects): extract from gc_marks().
8787 Thu Oct 4 11:43:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8789 * thread_pthread.c (ruby_init_stack): round stack limit to page size
8790 boundary to calculate stack size more precisely. [ruby-dev:46174]
8793 Wed Oct 3 19:51:57 2012 Narihiro Nakamura <authornari@gmail.com>
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]
8801 * configure.in (GC_MARK_STACKFRAME_WORD): removed. It's used by
8802 checking stack overflow of marking.
8804 * win32/Makefile.sub (GC_MARK_STACKFRAME_WORD): ditto.
8806 Wed Oct 3 15:33:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
8813 Wed Oct 3 11:43:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8815 * io.c (rb_io_reopen): improvement to accept optional arguments.
8816 a patch by Glass_saga (Masaki Matsushita) in [ruby-core:47806].
8819 Wed Oct 3 04:36:11 2012 Eric Hodel <drbrain@segment7.net>
8821 * ext/openssl/ossl_x509store.c (ossl_x509store_add_file): Added
8823 * ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths):
8825 * ext/openssl/ossl_x509store.c (ossl_x509store_add_cert): ditto
8827 Wed Oct 3 02:23:37 2012 Shugo Maeda <shugo@ruby-lang.org>
8829 * error.c (exc_to_s, name_err_to_s, name_err_mesg_to_str): do not
8832 Tue Oct 2 16:47:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
8834 * eval.c (identity_hash_new): hide internal hashes for refinements.
8836 * eval.c (rb_mod_refine): no default value.
8838 Mon Oct 1 22:54:02 2012 Shugo Maeda <shugo@ruby-lang.org>
8840 * eval.c (identity_hash_new): new function to create a new identity
8843 * eval.c (rb_overlay_module, rb_mod_using, rb_mod_refine): use
8844 identity_hash_new().
8846 Mon Oct 1 02:34:53 2012 Akinori MUSHA <knu@iDaemons.org>
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.
8852 Sun Sep 30 23:32:00 2012 Kenta Murata <mrkn@mrkn.jp>
8854 * vm_dump.c (rb_vm_bugreport): add /Library/Logs/DiagnosticReports
8855 in the list of locations of crash reports.
8857 Sun Sep 30 21:18:03 2012 NARUSE, Yui <naruse@ruby-lang.org>
8859 * string.c (rb_str_concat): use memcpy to copy a string which contains
8860 NUL characters. [ruby-core:47751] [Bug #7090]
8862 Sat Sep 29 19:41:53 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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.
8868 * test/thread/test_queue.rb (TestQueue): increase timeout.
8869 This test takes long time on Windows XP.
8871 Sat Sep 29 19:41:33 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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.
8877 * test/net/http/test_http.rb (TestNetHTTP#test_proxy_port): ditto.
8879 Sat Sep 29 19:41:11 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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.
8886 * test/drb/drbtest.rb (DRbAry#teardown): ditto.
8888 Sat Sep 29 19:40:32 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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.
8894 Sat Sep 29 11:21:06 2012 Shugo Maeda <shugo@ruby-lang.org>
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
8901 * eval.c (rb_using_module): accept a class as the second argument.
8903 * eval.c (rb_mod_using, f_using): raise a TypeError if the argument
8906 * test/ruby/test_refinement.rb: add new tests for the above changes.
8908 Sat Sep 29 02:18:57 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
8914 Fri Sep 28 22:19:31 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
8921 Fri Sep 28 17:54:31 2012 Koichi Sasada <ko1@atdot.net>
8923 * vm_insnhelper.c (vm_setup_method): refactoring.
8924 Remove src_argc and use iseq->arg_size directly.
8926 Fri Sep 28 17:26:27 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
8932 pick from upstream to fix a failure of test-all [ruby-core:47711]
8933 https://github.com/rubygems/rubygems/commit/c474edb2f3704206f04da1c8c6cf9fb079d84abe
8935 Fri Sep 28 15:44:45 2012 Shugo Maeda <shugo@ruby-lang.org>
8937 * vm_method.c (search_method): copy refinement iclasses to search
8938 superclasses correctly.
8940 * test/ruby/test_refinement.rb: related test.
8942 Fri Sep 28 15:15:41 2012 Koichi Sasada <ko1@atdot.net>
8944 * insns.def (opt_checkenv): remove unused instruction `opt_checkenv'.
8946 * compile.c (iseq_compile_each): ditto.
8948 * node.h: remove unused node `NODE_OPTBLOCK'.
8950 * ext/objspace/objspace.c, gc.c (gc_mark_children): ditto.
8952 Fri Sep 28 13:14:34 2012 Koichi Sasada <ko1@atdot.net>
8954 * vm_core.h: now VM_DEBUG_BP_CHECK should be 1.
8956 Fri Sep 28 12:51:54 2012 Koichi Sasada <ko1@atdot.net>
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.
8963 * vm_insnhelper.c (vm_base_ptr): add `vm_base_ptr(cfp).
8964 This function calculates base pointer from cfp.
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.
8970 * insns.def: fix to use vm_base_ptr().
8972 * vm.c (vm_exec): ditto.
8974 * vm_dump.c: remove `bp' related dumps.
8976 * cont.c (fiber_init): fix to check VM_DEBUG_BP_CHECK.
8978 Fri Sep 28 10:40:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
8984 Thu Sep 27 18:36:51 2012 Shugo Maeda <shugo@ruby-lang.org>
8986 * eval.c (rb_overlay_module, rb_mod_refine): accept a module as the
8987 argument of Module#refine.
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.
8993 * test/ruby/test_refinement.rb: add tests for the above changes.
8995 Thu Sep 27 18:12:20 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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.
9001 Wed Sep 26 16:39:57 2012 Koichi Sasada <ko1@atdot.net>
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).
9007 * compile.c (iseq_specialized_instruction), vm.c, vm_insnhelper.h:
9010 * id.c, template/id.h.tmpl: ditto.
9012 * test/ruby/test_optimization.rb: test for this changes.
9014 Tue Sep 25 09:59:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9016 * insns.def (invokesuper): klass in cfp is not valid in at_exit and
9017 END blocks. [ruby-core:47680] [Bug #7064]
9019 Tue Sep 25 08:11:11 2012 NARUSE, Yui <naruse@ruby-lang.org>
9021 * iseq.c (rb_iseq_defined_string): the index of defined_strings must
9022 be the value of type - 1.
9024 Mon Sep 24 17:36:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9026 * compile.c (defined_expr), insns.def (defined): share single frozen
9027 strings. [EXPERIMENTAL] [ruby-core:47558][Feature #7035]
9029 * iseq.c (rb_iseq_defined_string): make expression strings.
9031 Mon Sep 24 11:22:36 2012 NARUSE, Yui <naruse@ruby-lang.org>
9033 * tool/merger.rb: add --ticket option to add ticket number.
9035 Sun Sep 23 21:51:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9037 * lib/mkmf.rb (String#unspace): unescape with backslashes. normal
9038 makes need to escape spaces with backslashes. nmake is not the
9041 * lib/mkmf.rb (create_makefile): use timestamp file dependencies for
9044 * lib/mkmf.rb: unexpand macros.
9046 * lib/mkmf.rb (LIBPATHFLAG): no needs to escape library path here.
9048 * lib/mkmf.rb (MakeMakefile#configuration): make prefix paths
9049 internal to deal with in Makefile.
9051 * lib/mkmf.rb (MakeMakefile#mkintpath): not a global function now.
9053 Sun Sep 23 02:33:37 2012 Benoit Daloze <eregontp@gmail.com>
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.
9059 Sat Sep 22 07:15:00 2012 Zachary Scott <zzak@ruby-lang.org>
9061 * ext/ripper/lib/ripper.rb:
9062 Match sample output to Ripper.sexp from current trunk version.
9065 Thu Sep 20 23:05:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
9071 Thu Sep 20 22:53:02 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
9073 * thread_pthread.c (native_cond_initialize): clean up #ifdef condition.
9075 Thu Sep 20 16:42:44 2012 NARUSE, Yui <naruse@ruby-lang.org>
9077 * lib/drb/ssl.rb (DRb::DRbSSLSocket::SSLConfig::DEFAULT): add
9078 SSLTmpDhCallback for configuration option.
9080 * lib/drb/ssl.rb (setup_ssl_context): copy the value of tmp_dh_callback.
9082 * test/drb/ut_array_drbssl.rb: set tmp_dh_callback to suppress warning.
9084 * test/drb/ut_drb_drbssl.rb: ditto.
9086 Thu Sep 20 10:56:08 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
9092 Thu Sep 20 07:20:00 2012 Zachary Scott <zzak@ruby-lang.org>
9094 * complex.c: Examples for Complex Documentation.
9095 Patch by Robin Dupret.
9096 Fixes #184 on github.
9098 Thu Sep 20 07:15:00 2012 Zachary Scott <zzak@ruby-lang.org>
9100 * ext/ripper/lib/ripper.rb: Documentation for Ripper.
9101 +:void_stmt+ is meaningless
9102 [Bug #6929] [ruby-core:47507]
9104 Thu Sep 20 07:05:00 2012 Zachary Scott <zzak@ruby-lang.org>
9106 * lib/csv.rb (Object#CSV, Array#to_csv, String#parse_csv):
9107 Examples and documentation for CSV.
9108 [Bug #6880] [ruby-core:47218]
9110 Thu Sep 20 00:42:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9112 * array.c (take_items), enum.c (enum_zip): raise TypeError at
9113 non-enumerable objects, not NoMethodError. [ruby-dev:46145]
9116 * vm_eval.c (rb_check_block_call): check_funcall variant with block
9119 Tue Sep 18 17:51:29 2012 NARUSE, Yui <naruse@ruby-lang.org>
9121 * ext/openssl/ossl_ssl.c (ossl_sslctx_attrs): add npn_select_db to
9122 suppress warning: instance variable @npn_select_cb not initialized
9124 Sun Sep 16 17:47:00 2012 Eric Hodel <drbrain@segment7.net>
9126 * tool/change_maker.rb: Update svn detection for subversion 1.7's
9127 single .svn directory.
9129 Sun Sep 16 11:39:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
9137 Sun Sep 16 08:57:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9139 * configure.in (strict_warnflags): separate strict flags from
9140 warnflags only for core. [ruby-dev:46105]
9142 Sun Sep 16 08:16:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9144 * .editorconfig: add. [ruby-core:47548] [Feature #7030]
9146 Sat Sep 15 01:56:40 2012 NARUSE, Yui <naruse@ruby-lang.org>
9148 * ext/nkf/nkf-utf8/nkf.c: Merge upstream: 50a383c84.
9149 [ruby-dev:46128] [Bug #7005]
9151 Sat Sep 15 00:20:04 2012 NARUSE, Yui <naruse@ruby-lang.org>
9153 * ext/nkf/nkf.c (rb_nkf_convert): suppress warning.
9155 Fri Sep 14 04:05:00 2012 Zachary Scott <zzak@ruby-lang.org>
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]
9162 Fri Sep 14 03:30:00 2012 Zachary Scott <zzak@ruby-lang.org>
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]
9171 Fri Sep 14 00:20:00 2012 Zachary Scott <zzak@ruby-lang.org>
9173 * signal.c (rb_f_kill):
9174 Update documentation for Process.kill to reflect kill(2)
9175 Patch by Richo Healey
9177 Thu Sep 13 21:40:49 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
9179 * lib/securerandom.rb (SecureRandom.random_bytes):
9180 Use 64bit value as pointer for Windows x64 to fix SystemCallError.
9182 * lib/securerandom.rb (SecureRandom.lastWin32ErrorMessage):
9183 Set proper encoding to avoid invalid byte sequence error.
9184 [ruby-core:47451] [Bug #6990]
9186 Thu Sep 13 11:20:00 2012 Zachary Scott <zzak@ruby-lang.org>
9188 * lib/optparse.rb: Remove unreachable email address from documentation
9189 [Bug #6996] [ruby-core:47459]
9191 Thu Sep 13 11:20:00 2012 Zachary Scott <zzak@ruby-lang.org>
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]
9208 Thu Sep 13 10:22:11 2012 Takashi Toyoshima <toyoshim@gmail.com>
9210 * configure.in: Don't use PIE on Haiku because loader support is not
9213 Thu Sep 13 08:20:00 2012 Zachary Scott <zzak@ruby-lang.org>
9215 * lib/shellwords.rb: Documentation for Shellwords.
9217 Thu Sep 13 08:00:00 2012 Zachary Scott <zzak@ruby-lang.org>
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]
9226 Wed Sep 12 22:59:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9228 * vm_insnhelper.c (vm_method_missing, vm_call_method): reuse arguments
9229 on the VM stack and get rid of ALLOCA.
9231 Wed Sep 12 22:45::00 2012 Zachary Scott <zzak@ruby-lang.org>
9233 * ext/pathname/lib/pathname.rb: Documentation for Pathname.
9234 * ext/pathname/pathname.c: ditto.
9235 [Bug #6947] [ruby-core:47354]
9237 Mon Sep 10 10:19:34 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9239 * enc/depend: fixed wrong change in a part of r34802.
9241 Sun Sep 9 22:02:50 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
9253 Mon Sep 10 01:38:51 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
9255 * io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose):
9256 suppress integer <-> pointer cast warnings.
9257 [Feature #4570] [ruby-core:35711]
9259 Mon Sep 10 01:36:00 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
9266 Mon Sep 10 00:16:34 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
9272 Sun Sep 9 21:21:15 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
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.
9282 Sun Sep 9 20:20:31 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
9284 * lib/sync.rb (Sync_m#sync_lock): Fixed wakeup/raise unsafe code.
9285 Patched by Masaki Matsushita. [Bug #5355] [ruby-dev:44521]
9287 * test/thread/test_sync.rb (test_sync_lock_and_wakeup,
9288 test_sync_upgrade_and_wakeup, test_sync_lock_and_raise):
9291 Sun Sep 9 18:39:46 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
9293 * include/ruby/intern.h (rb_thread_blocking_region): Added
9294 a comment of recommended alternative way.
9296 Sun Sep 9 18:37:05 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
9298 * lib/sync.rb (Sync_m): Removed RCS_ID.
9300 Sun Sep 9 18:21:03 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
9306 Sun Sep 9 16:47:12 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
9308 * io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose):
9310 * io.c (fptr_finalize): release GVL if possible.
9311 Patched by Eric Wong. [Feature #4570] [ruby-core:35711]
9313 Sun Sep 9 16:08:48 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
9320 Sun Sep 9 15:21:52 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
9322 * thread.c (rb_mutex_lock): stop multiple threads use
9323 pthread_cond_timedwait() concurrently. [Bug #6278] [ruby-core:44275]
9325 Sat Sep 8 18:52:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9327 * internal.h (struct rb_classext_struct): move allocator function into
9328 rb_classext_t from ordinary method table. [ruby-dev:46121]
9331 * object.c (rb_obj_alloc): call allocator function directly.
9333 * vm_method.c (rb_define_alloc_func, rb_undef_alloc_func)
9334 (rb_get_alloc_func): use allocator function in rb_classext_t.
9336 Fri Sep 7 01:21:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
9342 Thu Sep 6 14:49:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9344 * .gdbinit (rp): FLONUM support.
9346 * include/ruby/ruby.h (ruby_special_consts): define FLONUM constants
9347 always, so that they are available from gdb.
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.
9353 Thu Sep 6 08:20:55 2012 Ryan Davis <ryand-ruby@zenspider.com>
9355 * lib/minitest/*: Imported minitest 3.4.0 (r7762)
9356 * test/minitest/*: ditto
9358 Wed Sep 5 19:20:53 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9360 * parse.y (rb_warn4S): renamed from rb_warn4(), because the case in
9361 r36911 takes a string.
9363 * parse.y (rb_warn4S): use ripper_warnS() for ripper.
9365 * parse.y (ripper_warnS): now it is used.
9367 Wed Sep 5 15:51:52 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
9369 * .travis.yml (notifications): [experimental] update notification
9372 Wed Sep 5 15:21:12 2012 NARUSE, Yui <naruse@ruby-lang.org>
9374 * parse.y (rb_warn4): added as a rb_warn variant to warn with explicit
9375 source file name and line in parse.y.
9377 * parse.y (warn_unused_var): use rb_warn4 to suppress warning on ripper.
9379 Wed Sep 5 13:30:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
9384 Tue Sep 4 20:55:17 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
9386 * test/ruby/envutil.rb (EnvUtil#invoke_ruby): show Timeout::Error
9387 instead of IOError if the timeout has expired.
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]
9394 Tue Sep 4 11:28:57 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
9396 * vm_eval.c (ruby_eval_string_from_file_protect): initializer
9397 element is not computable at load time.
9399 Tue Sep 4 07:48:35 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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
9409 Tue Sep 4 07:02:56 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
9415 Mon Sep 3 21:22:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9417 * include/ruby/ruby.h (rb_float_value): suppress warnings.
9418 [ruby-core:47406][Bug #6971]
9420 Mon Sep 3 14:49:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9422 * lib/matrix.rb (Vector#magnitude): accumulate squares of absolute
9423 values to fix for complex vector. [ruby-dev:46100] [Bug #6966]
9425 Mon Sep 3 10:09:36 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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
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
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]
9447 Sun Sep 2 21:46:28 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
9449 * test/openssl/utils.rb: Use a cached DH key instead of generating a
9452 Sun Sep 2 05:41:28 2012 NARUSE, Yui <naruse@ruby-lang.org>
9454 * lib/webrick/ssl.rb (WEBrick::Config::SSL): add new key
9455 SSLTmpDhCallback to set SSLContext#tmp_dh_callback.
9457 * lib/webrick/ssl.rb (WEBrick::GenericServer#setup_ssl_context):
9460 Sat Sep 1 18:50:50 2012 Akinori MUSHA <knu@iDaemons.org>
9462 * lib/set.rb (#initialize_copy, #eql): Use instance_variable_get
9463 instead of instance_eval.
9465 Fri Aug 31 21:47:56 2012 Kouhei Sutou <kou@cozmixng.org>
9467 * lib/test/unit/test-unit.gemspec: Make test/unit default gem.
9468 [Feature #6875] [ruby-dev:46051]
9470 Fri Aug 31 18:35:02 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
9483 Fri Aug 31 17:38:43 2012 Akinori MUSHA <knu@iDaemons.org>
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.
9489 Fri Aug 31 16:23:20 2012 Akinori MUSHA <knu@iDaemons.org>
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
9497 Fri Aug 31 14:51:27 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9499 * test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_to_f): added
9500 for previous commit.
9502 Fri Aug 31 14:32:05 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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]
9508 Fri Aug 31 14:31:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9510 * template/id.h.tmpl, tool/id2token.rb: make id.h independent from
9511 parse.h, and make parse.c dependent on it instead.
9513 Fri Aug 31 14:27:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
9519 Fri Aug 31 14:03:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9521 * vm_trace.c (clean_hooks): do not access freed memory.
9523 * vm_trace.c (rb_threadptr_exec_event_hooks): fix uninitialized state
9524 when no events is executed.
9526 Thu Aug 30 18:21:51 2012 Tanaka Akira <akr@fsij.org>
9528 * io.c (rb_io_close): call rb_last_status_clear.
9530 Thu Aug 30 16:17:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9532 * ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): check underflow since
9533 strtod() sets errno to ERANGE at underflow too. [ruby-core:47342]
9536 Thu Aug 30 12:44:43 2012 Akinori MUSHA <knu@iDaemons.org>
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.
9542 Thu Aug 30 09:21:01 2012 NARUSE, Yui <naruse@ruby-lang.org>
9544 * lib/uri/ftp.rb (URI::FTP#initialize): raise InvalidURIError if "//"
9545 is not present [ruby-core:47344] [Bug #6945]
9547 Thu Aug 30 07:45:12 2012 Luis Lavena <luislavena@gmail.com>
9549 * test/ruby/test_file_exhaustive.rb: fix test introduced in r36811 for
9550 posix environments where HOME is not defined. [ruby-core:47322]
9552 Wed Aug 29 23:42:59 2012 Tanaka Akira <akr@fsij.org>
9554 * internal.h (rb_last_status_clear): declared.
9556 * process.c (rb_last_status_clear): exported.
9557 (rb_f_system): call rb_last_status_clear.
9559 * io.c (rb_f_backquote): call rb_last_status_clear.
9561 Wed Aug 29 22:01:15 2012 Tanaka Akira <akr@fsij.org>
9563 * process.c (rb_f_system): check failures of waitpid.
9566 Wed Aug 29 15:03:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
9572 * ruby.c (ruby_init_loadpath_safe): ditto.
9574 Wed Aug 29 14:34:41 2012 NARUSE, Yui <naruse@ruby-lang.org>
9576 * addr2line.c: SIZE_MAX is defined in stdint.h, so r36755 breaks
9577 32bit FreeBSD. [ruby-core:47360] [Bug #6948]
9579 Wed Aug 29 04:50:04 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
9587 Tue Aug 28 22:31:49 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
9589 * insns.def (checkmatch): suppress warnings. [ruby-core:47339]
9592 Tue Aug 28 20:03:54 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
9601 Tue Aug 28 11:32:37 2012 Yuki Yugui Sonoda <yugui@google.com>
9603 * nacl/GNUmakefile.in (.rbconfig.time): r36828 was incomplete.
9604 It did not run correctly on clean build.
9606 Tue Aug 28 09:25:20 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
9611 Mon Aug 27 20:19:49 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
9618 Mon Aug 27 18:19:36 2012 Koichi Sasada <ko1@atdot.net>
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>.
9624 Mon Aug 27 15:08:25 2012 Yuki Yugui Sonoda <yugui@google.com>
9626 * common.mk (vm_trace.o): Added a missing dependency.
9628 Sun Aug 26 09:29:32 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp>
9630 * nacl/GNUmakefile.in (package): make package should install
9631 example.html for nacl build
9633 Patch by Takashi Toyoshima <toyoshim AT gmail.com>.
9635 Sun Aug 26 09:22:33 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp>
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
9643 (RBCONFIG): Replaces configs with the variable updates above.
9645 * configure.in: Thus it is no longer necessary to check $PATH.
9647 Based on a patch by Takashi Toyoshima <toyoshim AT gmail.com>.
9649 Sun Aug 26 16:53:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9651 * insns.def (checkmatch): suppress warnings. [ruby-core:47310]
9654 * vm_core.h (VM_FRAME_TYPE_FINISH_P): ditto.
9656 Fri Aug 24 15:42:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
9662 Fri Aug 24 12:40:15 2012 Luis Lavena <luislavena@gmail.com>
9664 * configure.in (mingw): add shlwapi to the list of dependency
9666 * win32/Makefile.sub (EXTSOLIBS): ditto.
9668 * internal.h: declare internal functions rb_w32_init_file,
9669 rb_file_expand_path_internal and rb_file_expand_path_fast.
9671 * file.c (Init_File): invoke Windows initialization rb_w32_init_file
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]
9677 * win32/file.c (rb_w32_init_file): new function. Initialize codepage
9678 cache for faster conversion encodings lookup.
9680 * file.c (file_expand_path): rename to rb_file_expand_path_internal.
9681 Conditionally exclude from Windows.
9683 * file.c (rb_file_expand_path_fast): new function. delegates to
9684 rb_file_expand_path_internal without performing a hit to the
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.
9692 * load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast.
9693 * load.c (rb_feature_provided): ditto.
9695 * file.c (rb_file_expand_path): use rb_file_expand_path_internal with
9697 * file.c (rb_file_absolute_path): ditto.
9699 * test/ruby/test_file_exhaustive.rb: new tests to exercise
9700 rb_file_expand_path_internal implementation and compliance with
9703 Fri Aug 24 07:35:24 2012 Eric Hodel <drbrain@segment7.net>
9705 * lib/net/http/backward.rb (class Net): Restored Net::HTTPSession to
9706 fix backwards-compatibility with ancient Net::HTTP. [Bug #6889]
9708 Thu Aug 23 20:58:55 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
9710 * common.mk: support `make id.h` without `rm .id.h.time` after
9713 Thu Aug 23 20:48:45 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9715 * test/ruby/test_fixnum.rb (TestFixnum#test_singleton_method): new test.
9717 * test/ruby/test_bignum.rb (TestBignum#test_singleton_method): ditto.
9719 * test/ruby/test_float.rb (TestFloat#test_singleton_method): ditto.
9721 * test/ruby/test_symbol.rb (TestSymbol#test_singleton_method): ditto.
9723 Thu Aug 23 20:34:32 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9725 * class.c (singleton_class_of): flonum can't have singleton class.
9727 * vm.c (vm_define_method): flonum can't have singleton method.
9729 Thu Aug 23 19:18:33 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9731 * common.mk (win32/*): macro RUBY_H_INCLUDES is not defined there,
9732 so need to move dependency rules under the definition of it.
9734 Thu Aug 23 19:16:20 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9736 * win32/Makefile.sub: refactoring. remove unused rules, and update
9737 some rules which are not used usually to fit current macros.
9739 Thu Aug 23 16:46:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9741 * file.c (rb_find_file_ext_safe, rb_find_file_safe): default to
9742 US-ASCII for encdb and transdb.
9744 * load.c (search_required): keep encoding of feature name. set
9745 loading path to filesystem encoding. [Bug #6377][ruby-core:44750]
9747 * ruby.c (add_modules, require_libraries): assume default external
9748 encoding as well as ARGV.
9750 Thu Aug 23 16:20:04 2012 Koichi Sasada <ko1@atdot.net>
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
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-master/wiki/Flonum_tech
9763 * benchmark/bmx_temp.rb: add an benchmark for simple
9766 * gc.c (id2ref, rb_obj_id): add flonum Float support.
9768 * include/ruby/intern.h: move decl of rb_float_new(double)
9769 to include/ruby/ruby.h.
9771 * insns.def, vm.c, vm_insnhelper.c: add flonum optimization
9772 and simplify source code.
9774 * vm_insnhelper.h (FLONUM_2_P): added.
9776 * marshal.c: support flonum output.
9778 * numeric.c (rb_float_new_in_heap): added.
9780 * parse.y: support flonum.
9784 Thu Aug 23 16:12:40 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
9790 Thu Aug 23 16:02:20 2012 Koichi Sasada <ko1@atdot.net>
9792 * ext/date/depend: add dependency to $(ruby_headers).
9794 Thu Aug 23 12:51:39 2012 Shugo Maeda <shugo@ruby-lang.org>
9796 * insns.def (invokesuper): reverted r36640 partially to make super
9797 in a thread work correctly. [ruby-core:47284] [Bug #6907]
9799 * test/ruby/test_super.rb: related test.
9801 Thu Aug 23 12:30:20 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9803 * win32/configure.bat: support --with(out)?-ext(ensions) options.
9805 Thu Aug 23 11:52:04 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
9811 by Takashi Toyoshima <toyoshim@gmail.com>
9812 https://github.com/ruby/ruby/pull/167
9814 * signal.c (ruby_signal): haiku doesn't have SIGBUS.
9816 Thu Aug 23 11:32:44 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
9822 Thu Aug 23 10:49:28 2012 NARUSE, Yui <naruse@ruby-lang.org>
9824 * configure.in: use the value of --with-opt-dir on building ruby
9825 itself. [ruby-dev:46064] [Bug #6900]
9827 Thu Aug 23 10:36:35 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9829 * common.mk (ID_H_TARGET): revert a part of r36724 and r36751. they
9830 break mswin build from clean source.
9832 Thu Aug 23 02:37:35 2012 Aaron Patterson <aaron@tenderlovemaking.com>
9834 * ext/syck: removed. Fixes [ruby-core:43360]
9836 * test/syck: removed.
9838 * lib/yaml.rb: only require psych, show a warning if people try to set
9841 Thu Aug 23 01:46:53 2012 Aaron Patterson <aaron@tenderlovemaking.com>
9843 * insns.def: search up the cf stack for an object that is an instance
9844 of the recipient class. Fixes [ruby-core:47186]
9846 * test/ruby/test_super.rb: related test.
9848 Wed Aug 22 19:46:24 2012 Tadayoshi Funaba <tadf@dotrb.org>
9850 * ext/date/date_core.c: [ruby-core:47266].
9852 Wed Aug 22 19:41:19 2012 Tadayoshi Funaba <tadf@dotrb.org>
9854 * ext/date/date_core.c: [ruby-core:47226].
9856 Wed Aug 22 16:57:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9858 * lib/mkmf.rb (configuration): extract least ruby headers list as
9859 ruby_headers, so depend files can use default dependency
9862 Wed Aug 22 15:27:50 2012 Koichi Sasada <ko1@atdot.net>
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.
9869 Wed Aug 22 14:05:23 2012 Koichi Sasada <ko1@atdot.net>
9871 * vm_trace.c: support TracePoint. [ruby-trunk - Feature #6895]
9873 * test/ruby/test_settracefunc.rb: add tests for above.
9875 * proc.c (rb_binding_new_with_cfp): add an internal function.
9877 * vm.c (rb_vm_control_frame_id_and_class): add an internal function.
9879 * vm_trace.c: add rb_add_event_hook2() and rb_thread_add_event_hook2().
9880 Give us the good name for them!
9882 Wed Aug 22 11:38:16 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
9884 * .travis.yml (before_script): Turned out that make -j is broken.
9886 Wed Aug 22 11:23:35 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
9892 Wed Aug 22 11:20:47 2012 NARUSE, Yui <naruse@ruby-lang.org>
9894 * lib/rubygems/test_case.rb: run test with psych if exist.
9896 Thu Aug 16 12:09:51 2012 Yuki Yugui Sonoda <yugui@google.com>
9898 * nacl/pepper_main.c (init_loadpath): Pushes the correct load path on
9899 other architectures than x86_64. Fixes #6873.
9901 Wed Aug 15 19:37:33 2012 Yuki Yugui Sonoda <yugui@google.com>
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.
9907 Wed Aug 15 19:29:29 2012 Yuki Yugui Sonoda <yugui@google.com>
9909 * common.mk (vm_backtrace.o): Added missing dependencies.
9911 * ext/nkf/depend (nkf.o): ditto.
9913 * ext/ripper/depend (ripper.o) ditto.
9915 Wed Aug 22 07:27:00 2012 NARUSE, Yui <naruse@ruby-lang.org>
9917 * lib/cgi/util.rb (CGI.escapeHTML): use '
9918 [ruby-core:47221] [Bug #6861]
9920 Tue Aug 21 21:59:22 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
9922 * lib/observer.rb: fix typo. https://github.com/ruby/ruby/pull/162 by
9923 unsymbol (Philip Cunningham).
9925 Tue Aug 21 20:30:06 2012 Benoit Daloze <eregontp@gmail.com>
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]
9931 Tue Aug 21 17:29:56 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
9936 Tue Aug 21 17:07:58 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
9938 * .travis.yml (compiler): [experimental] clang support.
9940 Tue Aug 21 15:44:27 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
9948 Tue Aug 21 14:29:22 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9950 * win32/Makefile.sub (scriptbin.mk): no need to include twice.
9952 Tue Aug 21 10:52:08 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9954 * test/unit/test.rb (Test::Unit::ProxyError): new exception class to
9955 wrap exceptions raised in workers in parallel test mode.
9957 * test/unit/parallel.rb (Test::Unit::Worker#puke): use above wrapper
9959 [Bug #6882] [ruby-dev:46054]
9961 Tue Aug 21 10:40:06 2012 Koichi Sasada <ko1@atdot.net>
9963 * test_continuation.rb (tracing_with_thread_set_trace_func):
9964 fix to use Thread#set_trace_func(nil), not set_trace_func(nil).
9966 Tue Aug 21 09:32:41 2012 Ryan Davis <ryand-ruby@zenspider.com>
9968 * lib/minitest/*: Imported minitest 3.3.0 (r7676)
9969 * test/minitest/*: ditto
9971 Tue Aug 21 09:05:32 2012 NAKAMURA Usaku <usa@ruby-lang.org>
9973 * test/testunit/tests_for_parallel/ptest_forth.rb: added a test case
9974 which causes an error.
9976 * test/testunit/test_parallel.rb: follow above change.
9979 Tue Aug 21 05:43:00 2012 James Edward Gray II <james@graysoftinc.com>
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.
9986 Tue Aug 21 05:25:41 2012 Eric Hodel <drbrain@segment7.net>
9988 * re.c (rb_reg_initialize_m): Forgot to update output for or'd-options
9991 Tue Aug 21 05:18:03 2012 Eric Hodel <drbrain@segment7.net>
9993 * re.c (rb_reg_initialize_m): Update example to show that regexp
9994 options use | an not || to avoid confusion.
9996 Mon Aug 20 23:02:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
9998 * parse.y: more descriptive token names in syntax error messages.
10000 Mon Aug 20 20:36:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10002 * vm_insnhelper.c (vm_call_method): follow iclasses as klass in cfp
10003 but not included modules. [ruby-core:47241] [Bug #6891]
10005 * vm_insnhelper.c (vm_call_bmethod): pass defined_class to follow
10006 proper ancestors. [ruby-core:47241] [Bug #6891]
10008 Mon Aug 20 11:40:27 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
10010 * common.mk: fix failed to make with -j2.
10011 https://gist.github.com/3397935
10013 Mon Aug 20 10:51:01 2012 Shota Fukumori <sorah@tubusu.net>
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]
10019 Sun Aug 19 01:24:32 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
10021 * enum.c: fix docs. https://github.com/ruby/ruby/pull/129 by
10022 richardkmichael (Richard Michael).
10024 Sun Aug 19 00:47:26 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
10026 * lib/fileutils.rb: fix typo.
10027 https://github.com/ruby/ruby/pull/155 by simonc (Simon COURTOIS).
10029 Sat Aug 18 09:57:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
10035 Fri Aug 17 23:28:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10037 * object.c (rb_any_to_s, rb_obj_inspect): preserve encodings of class
10038 name and instance variable names.
10040 Fri Aug 17 12:39:33 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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]
10046 Thu Aug 16 19:54:24 2012 Koichi Sasada <ko1@atdot.net>
10048 * vm_trace.c, vm_core.h: simplify tracing mechanism.
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).
10065 * include/ruby/ruby.h: remove internal data definition and
10068 * internal.h (ruby_suppress_tracing), vm_trace.c: rename
10069 ruby_suppress_tracing() to rb_suppress_tracing()
10070 and remove unused function parameter.
10072 * parse.y: fix to use renamed rb_suppress_tracing().
10074 * thread.c (thread_create_core): no need to set RUBY_VM_VM.
10076 * vm.c (mark_event_hooks): move definition to vm_trace.c.
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.
10085 * cont.c (fiber_switch, rb_cont_call): restore tracing status.
10088 * test/ruby/test_continuation.rb: ditto.
10090 Thu Aug 16 19:15:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
10096 Thu Aug 16 11:52:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
10102 Thu Aug 16 09:46:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10104 * strftime.c: remove unnecessary macros to check traditional C.
10105 https://github.com/ruby/ruby/pull/46 by lateau (Daehyub Kim).
10107 * vsnprintf.c: remove K&R.
10109 Wed Aug 15 20:47:49 2012 Benoit Daloze <eregontp@gmail.com>
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.
10115 * NEWS: Add note about the change.
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).
10121 * test/ruby/test_object.rb (test_inspect): add tests for Kernel#inspect.
10123 * lib/pp.rb (class PP): do not call #to_s anymore, as #inspect
10124 no more does (mame).
10126 * test/test_pp.rb (class PPInspectTest): remove related assertion (mame).
10127 [ruby-core:43238][Feature #6130]
10129 * test/drb/drbtest.rb (DRbCore#teardown, DRbAry#teardown):
10130 adapt DRb tests with the new change (shirosaki).
10131 [ruby-core:47182][Bug #6866]
10133 Wed Aug 15 18:05:37 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
10138 Wed Aug 15 16:26:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10140 * sprintf.c (ruby__sfvextra): the result should be infected by the
10143 * sprintf.c (ruby__sfvwrite): set buffer length and exclude
10144 uninitialized garbage to get correct coderange.
10146 Wed Aug 15 16:20:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10148 * common.mk (ID_H_TARGET): make timestamp file of id.h so that the
10149 header will not be remade repetitively.
10151 Wed Aug 15 11:39:53 2012 Koichi Sasada <ko1@atdot.net>
10153 * vm_trace.c: separate trace_func related functions from
10158 * common.mk: add vm_trace.o.
10160 * inits.c: call Init_vm_trace().
10162 Tue Aug 14 16:25:46 2012 Shugo Maeda <shugo@ruby-lang.org>
10164 * test/erb/test_erb.rb (test_html_escape): add assertions for the
10165 cases where the argument is not a String.
10167 Tue Aug 14 16:03:31 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10169 * win32/win32.c (check_valid_dir): reject "..." as directory name.
10172 Tue Aug 14 16:02:51 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10174 * test/ruby/test_file_exhaustive.rb
10175 (TestFileExhaustive#test_stat_dotted_prefix): added.
10177 Tue Aug 14 15:39:09 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10179 * test/ruby/test_file_exhaustive.rb
10180 (TestFileExhaustive#test_stat_drive_root): added.
10182 Tue Aug 14 10:38:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
10184 * lib/erb.rb (ERB::Util.html_escape): fix r36687: call to_s before
10185 passing it to CGI.escapeHTML.
10187 Mon Aug 13 13:13:19 2012 Shugo Maeda <shugo@ruby-lang.org>
10189 * lib/erb.rb (ERB::Util.html_escape): use CGI.escapeHTML to escape
10190 single quotes. [ruby-core:47138] [Bug #6861]
10192 Sun Aug 12 11:57:20 2012 Kazuki Tsujimoto <kazuki@callcc.net>
10194 * vm.c (invoke_block_from_c): fix unintentional block passing.
10195 [ruby-dev:45071] [Bug #5832]
10197 Fri Aug 10 08:41:28 2012 Eric Hodel <drbrain@segment7.net>
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
10204 Thu Aug 9 23:46:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10206 * tool/mkrunnable.rb: see build_os instead of target arch for
10209 * configure.in (MINIRUBY): use real path for include path.
10211 * template/fake.rb.in (builddir): remove duplications
10213 Thu Aug 9 20:03:11 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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.
10220 * win32/win32.c (check_valid_dir): for performance, check the path
10221 by FindFirstFileW only if the path contains "..."
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]
10228 Thu Aug 9 18:33:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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
10234 Thu Aug 9 12:37:22 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
10236 * test/openssl/test_config.rb (OpenSSL#test_constants): skip this
10237 test if platform is Mac OS X or Windows. [Bug #6830]
10239 Wed Aug 8 22:51:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10241 * vm_eval.c (eval_under): singletons other than special constants
10242 don't need cref-scope hack.
10244 Wed Aug 8 22:45:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10246 * common.mk (.y.h): split from .y.c rule to manage dependency on
10247 parse.h. [ruby-core:46741] [Bug #6789]
10249 * common.mk (id.h): keep old file unless changed.
10251 Wed Aug 8 17:11:20 2012 Koichi Sasada <ko1@atdot.net>
10253 * compile.c (ADD_INSNL): make ADD_INSNL as alias of ADD_INSN1.
10255 Wed Aug 8 17:08:14 2012 Koichi Sasada <ko1@atdot.net>
10257 * bootstrap/test_exception.rb: fix a last committed test.
10259 Wed Aug 8 16:27:58 2012 Koichi Sasada <ko1@atdot.net>
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".
10267 * iseq.c: increment ISEQ_MAJOR_VERSION because removal of
10268 checkincludearray instruction.
10270 * vm_core.h: add several definitions for
10271 the checkmatch instruction.
10273 * vm_insnhelper.c (check_match): added.
10275 * bootstraptest/test_exception.rb: add a test.
10277 * test/ruby/test_exception.rb: ditto.
10279 Wed Aug 8 05:51:20 2012 Eric Hodel <drbrain@segment7.net>
10281 * proc.c (method_clone): Added documentation. Patch by Robin Dupret.
10282 Fixes #152 on github.
10284 Tue Aug 7 20:19:29 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
10290 Tue Aug 7 20:12:39 2012 Koichi Sasada <ko1@atdot.net>
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.
10296 * vm_core.h: add rb_thread_t#retval for temporary space on
10297 OPT_CALL_THREADED_CODE.
10299 * vm.c (th_init): clear rb_thread_t#retval as Qundef.
10301 * vm_dump.c (rb_vmdebug_debug_print_pre): fix debug print format.
10303 Tue Aug 7 11:58:27 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10305 * test/ruby/test_require.rb (TestRequire#test_require_twice): added.
10307 Tue Aug 7 11:35:37 2012 Shugo Maeda <shugo@ruby-lang.org>
10309 * vm_method.c (rb_redefine_opt_method): use RCLASS_ORIGIN to avoid
10310 SEGV when a module-prepended class is refined.
10312 Tue Aug 7 10:46:37 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
10318 Tue Aug 7 00:31:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10320 * class.c (rb_special_singleton_class_of): utility function.
10322 * vm_eval.c (eval_under): special deal for class variable scope with
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]
10329 Tue Aug 7 00:23:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10331 * variable.c (CVAR_LOOKUP): split into helper functions.
10333 Mon Aug 6 19:15:11 2012 Masaki Suketa <masaki.suketa@nifty.ne.jp>
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]
10339 Mon Aug 6 15:54:50 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
10345 Mon Aug 6 14:54:38 2012 Shugo Maeda <shugo@ruby-lang.org>
10347 * include/ruby/ruby.h, eval.c, vm_insnhelper.c: fix typo.
10349 Mon Aug 6 13:13:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10351 * vm_eval.c (vm_call_super): since cfp->klass is always class or
10352 iclass, no search from method entry.
10354 * insns.def (defined): now should use klass in the current control
10355 frame to search superclass, not me->klass. reported by naruse.
10357 Mon Aug 6 11:19:19 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10359 * test/etc/test_etc.rb (TestEtc#test_getpwuid): `s' is never set to nil.
10361 Mon Aug 6 11:08:48 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10363 * test/syslog/test_syslog_logger.rb: skip unless Syslog module is
10366 Mon Aug 6 00:40:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10368 * ext/bigdecimal/bigdecimal.c (BigMath_s_log): fix format specifier.
10370 Mon Aug 6 00:39:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
10376 * include/ruby/ruby.h (NUM2SSIZET): fix type to cast.
10378 Sun Aug 5 21:10:36 2012 Narihiro Nakamura <authornari@gmail.com>
10380 * gc.c : if ENABLE_VM_OBJSPACE is 1, rest_sweep is not defined.
10381 remove unused declarations. [ruby-core:47004] [Bug #6837]
10383 Sun Aug 5 19:31:57 2012 Narihiro Nakamura <authornari@gmail.com>
10385 * gc.c: just move functions and so on. I don't touch any internal
10388 Sun Aug 5 13:22:29 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
10393 Sun Aug 5 06:55:10 2012 Tadayoshi Funaba <tadf@dotrb.org>
10395 * ext/date/date_{core,strftime}.c: [ruby-core:46990].
10397 Sat Aug 4 22:56:20 2012 Narihiro Nakamura <authornari@gmail.com>
10399 * gc.c: use inline functions instead of macros, and close up
10400 related codes for the profiler.
10402 Sat Aug 4 20:37:56 2012 Narihiro Nakamura <authornari@gmail.com>
10404 * gc.c (gc_mark_children): use gc_mark_ptr instead of marking
10407 Sat Aug 4 10:02:03 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
10412 Sat Aug 4 01:56:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10414 * vm_insnhelper.c (vm_search_normal_superclass): no longer needs
10415 receiver, klass is always unique in the ancestors now.
10417 Sat Aug 4 01:27:40 2012 Shugo Maeda <shugo@ruby-lang.org>
10419 * insns.def (invokesuper): reverted r36612 so that super in an
10420 aliased method will not call the same method.
10422 Fri Aug 3 19:26:10 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
10428 Fri Aug 3 19:21:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10430 * configure.in: use clang prior to gcc only when self-compiling on
10431 darwin. search default compilers on other platforms. [Bug #6816]
10433 Fri Aug 3 17:25:49 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
10438 * configure.in: don't use AC_PROG_CC in AS_CASE.
10440 Fri Aug 3 17:21:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10442 * test/runner.rb: get rid of loading previously installed gems.
10445 Fri Aug 3 16:40:01 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
10447 * .travis.yml (notifications): [experimental] IRC notifications.
10449 Thu Aug 2 20:32:29 2012 Shugo Maeda <shugo@ruby-lang.org>
10451 * eval.c (rb_mod_using): new method Module#using. [experimental]
10453 * eval.c (rb_mod_refine): new method Module#refine. [experimental]
10455 * eval.c (f_using): new method Kernel#using. [experimental]
10457 Thu Aug 2 20:08:02 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
10463 Thu Aug 2 13:23:08 2012 NARUSE, Yui <naruse@ruby-lang.org>
10465 * configure.in (AC_PROG_CC): AC_PROG_CC tries clang at first on
10466 darwin. [Bug #6816]
10468 Thu Aug 2 11:39:25 2012 Narihiro Nakamura <authornari@gmail.com>
10470 * gc.c: return true or false. Patch by Dirkjan Bussink. [Bug #6821]
10472 * test/ruby/test_gc.rb: add test-case for this bug.
10474 Thu Aug 2 10:51:12 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
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]
10481 Wed Aug 1 22:29:12 2012 Benoit Daloze <eregontp@gmail.com>
10483 * ext/digest/digest.c (hexencode_str_new): return an ASCII string
10485 * test/digest: tests for all kind of digests encodings
10486 [ruby-core:46792][Bug #6799]
10488 Wed Aug 1 05:50:53 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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
10495 [ruby-core:46872] [Bug #6813]
10497 Wed Aug 1 00:33:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
10503 Tue Jul 31 18:22:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
10508 * variable.c (rb_class_path): duplicate found temporary path.
10510 * variable.c (rb_set_class_path_string, rb_set_class_path): set class
10511 id to find classpath.
10513 Tue Jul 31 10:36:12 2012 Aaron Patterson <aaron@tenderlovemaking.com>
10515 * ext/psych/lib/psych.rb: updated to released version.
10517 * ext/psych/psych.gemspec: ditto
10519 Tue Jul 31 06:18:06 2012 Eric Hodel <drbrain@segment7.net>
10521 * time.c (time_sec): Remove extra wording about leap seconds and refer
10522 directly to Wikipedia's leap second page for further information.
10525 Mon Jul 30 23:01:47 2012 NARUSE, Yui <naruse@ruby-lang.org>
10527 * lib/rubygems/platform.rb (Gem::Platform#initialize): Support pattern
10528 like x86_64-netbsd6.99.7.
10530 Mon Jul 30 21:00:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10532 * variable.c (find_class_path): no retry when preferred is given.
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]
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.
10542 Mon Jul 30 14:24:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10544 * variable.c: store anonymous class path in tmp_classpath but not in
10545 classpath. [ruby-core:42865][Bug #6078]
10547 Mon Jul 30 13:11:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10549 * configure.in (DLDFLAGS): on Darwin, deprecate -flat_namespace to get
10550 rid of huge imported symbols table.
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.
10556 Mon Jul 30 01:30:10 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
10558 * common.mk: add a dependency. [ruby-core:46741] [Bug #6789]
10560 Sun Jul 29 15:44:47 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
10562 * thread.c (thread_create_core): hide th->async_errinfo_mask_stack from
10563 ObjectSpace.each_object. refix of r36539.
10565 Sun Jul 29 23:57:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
10570 * win32/win32.c (rb_w32_inet_ntop): type should be const.
10572 Sun Jul 29 14:20:34 2012 Kazuki Tsujimoto <kazuki@callcc.net>
10574 * thread.c (Init_Thread): does not need to set klass
10577 Sun Jul 29 06:21:04 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
10579 * win32/win32.c: suppress warning redeclared on mingw64.
10580 *_s functions are declared if MINGW_HAS_SECURE_API is defined.
10583 Sun Jul 29 00:28:46 2012 Narihiro Nakamura <authornari@gmail.com>
10585 * gc.c: remove unused initialization.
10587 Sat Jul 28 16:26:09 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
10589 * win32/win32.c (gmtime_r): use _gmtime64_s() with x86_64-w64-mingw32.
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]
10596 Fri Jul 27 18:25:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10598 * io.c (rb_io_check_io): make public.
10600 * process.c (check_exec_redirect): try conversion to IO on redirect
10601 parameters. [ruby-core:44181] [Bug #6269]
10603 Fri Jul 27 17:58:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10605 * configure.in (RUBY_CPPOUTFILE): get rid of variable conflict so
10606 CPPFLAGS is not duplicated. [ruby-core:43097] [Bug #6119]
10608 Fri Jul 27 12:12:36 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
10614 Thu Jul 26 14:51:29 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
10616 * test/net/http/test_https.rb (TestNetHTTPS#test_session_reuse):
10617 localhost is not (always) 127.0.0.1. Don't expect that.
10619 Thu Jul 26 07:18:38 2012 <kanemoto@ruby-lang.org>
10621 * ext/json/fbuffer/fbuffer.h: avoid compilation error on AIX by
10622 -ansi -std=iso9899:199409 (r36038). [ruby-core:46744] [Bug #6791].
10624 Thu Jul 26 00:42:23 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
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.
10630 Wed Jul 25 17:41:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10632 * complex.c, rational.c: compatible marshal loader for compatibilities
10633 with 1.8. [ruby-core:45775] [Bug #6625]
10635 Wed Jul 25 17:17:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10637 * atomic.h: prefer GCC atomic builtins than Windows APIs, if possible,
10638 since they are generic.
10640 Wed Jul 25 11:16:57 2012 Eric Hodel <drbrain@segment7.net>
10642 * lib/net/.document: Removed. All files in net/ should be included in
10645 Wed Jul 25 10:00:23 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10647 * test/testunit/test_redefinition.rb: broken class/method names.
10649 Wed Jul 25 09:26:32 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
10655 Wed Jul 25 09:16:26 2012 NARUSE, Yui <naruse@ruby-lang.org>
10657 * lib/cgi/html.rb (element_init): suppress redefine warning.
10658 Don't define methods if they are already defined.
10660 Wed Jul 25 09:05:38 2012 Eric Hodel <drbrain@segment7.net>
10662 * lib/net/http.rb: Added SSL session reuse across connections for a
10663 single instance to speed up connection. [Feature #5341]
10665 * test/net/http/test_https.rb: Tests for #5341
10667 Wed Jul 25 06:54:24 2012 Eric Hodel <drbrain@segment7.net>
10669 * doc/re.rdoc: Fix spelling
10671 Wed Jul 25 06:49:12 2012 Eric Hodel <drbrain@segment7.net>
10673 * re.c (rb_reg_s_last_match): Update $~ to reference Regexp
10674 documentation about "special global variables". [Bug #6723]
10676 Wed Jul 25 06:28:56 2012 Eric Hodel <drbrain@segment7.net>
10678 * iseq.c: Added documentation. Patch by David Albert. [Bug #6785]
10680 Wed Jul 25 03:05:06 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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]
10687 * ext/ripper/eventids2.c: added ripper events for %i and %I.
10689 * test/ripper/test_parser_events.rb: ripper tests
10691 * test/ripper/test_scanner_events.rb: ditto
10693 * test/ruby/test_array.rb: test for %i and %I behavior
10695 Tue Jul 24 23:34:43 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
10702 Tue Jul 24 15:01:24 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10704 * win32/win32.c (rb_w32_socket, rb_w32_socketpair): remember the family
10705 in the high word of socklist value.
10707 * win32/win32.c (overlapped_socket_io, recvmsg, sendmsg, setfl): follow
10710 * win32/win32.c (rb_w32_getsockname): set remembered family to the
10711 argument when OS's function fails.
10713 Tue Jul 24 12:35:13 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10715 * test/ruby/test_dir_m17n.rb: remove a garbage.
10717 * test/ruby/test_dir_m17n.rb: convert from ascii-8bit to other encoding
10718 with 8bit bytes always fails.
10720 Tue Jul 24 12:32:18 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10722 * test/ruby/test_dir_m17n.rb: sorry, typo.
10724 Tue Jul 24 12:13:26 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
10729 Tue Jul 24 11:35:20 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10731 * test/ruby/test_pack.rb (test_pack_unpack_M): was redefined
10734 Tue Jul 24 09:31:18 2012 Eric Hodel <drbrain@segment7.net>
10736 * lib/rubygems: Updated to RubyGems 1.8.24, a bugfix release.
10738 Tue Jul 24 08:30:15 2012 Luis Lavena <luislavena@gmail.com>
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]
10744 * test/ruby/test_dir_m17n.rb (test_filename_extutf8): use filesystem
10745 encoding when reading entries and comparing.
10747 * test/ruby/test_dir_m17n.rb (test_filename_utf8_raw_name): removed.
10749 * test/ruby/test_dir_m17n.rb (test_filename_utf8_raw_jp_name): split test.
10751 Tue Jul 24 08:09:30 2012 Luis Lavena <luislavena@gmail.com>
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]
10757 Tue Jul 24 07:22:58 2012 Eric Hodel <drbrain@segment7.net>
10759 * time.c (time_sec): Updated description of leap seconds for accuracy.
10760 Based on patch by Marcus Stollsteimer. [Bug #6749]
10762 Tue Jul 24 07:03:11 2012 Eric Hodel <drbrain@segment7.net>
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
10769 Mon Jul 23 23:58:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10771 * enc/Makefile.in (TARGET_NAME, TARGET_ENTRY): needed for EXTDLDFLAGS
10772 on some platforms. [ruby-core:46600] [Bug #6768]
10774 * enc/depend: no longer needs tweaking DLDFLAGS for TARGET names.
10776 Mon Jul 23 22:48:19 2012 Tanaka Akira <akr@fsij.org>
10778 * lib/open-uri.rb: use respond_to? to test Tempfile.
10779 [ruby-dev:45995] [Bug #6781] reported by hsbt (Hiroshi SHIBATA).
10781 Mon Jul 23 14:43:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
10787 Mon Jul 23 01:55:08 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
10789 * test/uri/test_generic.rb (URI#test_find_proxy): add tests with
10790 empty *_proxy env variables.
10792 Mon Jul 23 01:47:26 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
10794 * test/uri/test_generic.rb (URI#with_env): unset proxy related env
10795 variables. [Bug #6774]
10797 * test/uri/test_generic.rb (URI#test_find_proxy): fix failures
10798 when proxy related env variables already set. [Bug #6774]
10800 Sun Jul 22 23:58:48 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
10808 Sat Jul 21 06:21:45 2012 NARUSE, Yui <naruse@ruby-lang.org>
10810 * lib/net/http.rb: fixes for r36476. [Feature #6546]
10811 http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20120720T030101Z.diff.html.gz
10813 * lib/net/http.rb (Net::HTTP.newobj): return back for compatibility.
10815 * lib/net/http.rb (Net::HTTP.new): set default_port if proxy port is
10818 * lib/net/http.rb (Net::HTTP#initialize): ditto.
10820 * lib/net/http.rb (Net::HTTP#proxy?): return true or false.
10822 * lib/net/http.rb (Net::HTTP#proxy_address): check proxy_uri is not nil.
10824 * lib/net/http.rb (Net::HTTP#proxy_port): ditto.
10826 Sat Jul 21 23:12:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10828 * thread_pthread.c (ruby_init_stack): STACK_GROW_DIR_DETECTION is
10829 necessary on platforms with unknown stack direction. [Bug #6761]
10831 Sat Jul 21 15:13:42 2012 Shota Fukumori <sorah@tubusu.net>
10833 * lib/test/unit/testcase.rb (method_added): refactoring.
10835 Sat Jul 21 14:06:41 2012 Shota Fukumori <sorah@tubusu.net>
10837 * lib/test/unit/testcase.rb: warn when test_* method is redefined.
10838 Patch by mame (Yusuke Endoh). [Feature #2643] [ruby-core:27790]
10840 * test/testunit/test_redefinition.rb: Test for above.
10842 * test/testunit/test4test_redefinition.rb: Ditto.
10844 Sat Jul 21 08:41:14 2012 Eric Hodel <drbrain@segment7.net>
10846 * lib/logger.rb: Updated example in Logger comment to match other
10847 examples and fixed a bug. Patch by Marcus Stollsteimer.
10850 Fri Jul 20 17:20:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10852 * random.c (rb_random_real): refine error message.
10854 Fri Jul 20 11:03:17 2012 Eric Hodel <drbrain@segment7.net>
10856 * NEWS: Updated net/http for automatic proxy detection (#6546) and
10857 automatic gzip and deflate compression (#6492, #6494).
10859 Fri Jul 20 10:55:38 2012 Eric Hodel <drbrain@segment7.net>
10861 * lib/net/http.rb: Net::HTTP now automatically detects and uses
10862 proxies from the environment. A proxy may also be specified as
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.
10869 Additionally, Net::HTTP::ProxyDelta is no longer used by Net::HTTP
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
10877 * test/net/http/test_http.rb: Added tests for proxy behavior.
10879 Fri Jul 20 09:34:11 2012 Eric Hodel <drbrain@segment7.net>
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]
10885 Fri Jul 20 09:32:14 2012 Eric Hodel <drbrain@segment7.net>
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
10892 * test/socket/test_addrinfo.rb: Test for ipv6_unique_local?
10894 Fri Jul 20 07:40:32 2012 Eric Hodel <drbrain@segment7.net>
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.
10908 Fri Jul 20 03:42:54 2012 NARUSE, Yui <naruse@ruby-lang.org>
10910 * thread_pthread.c: use #ifdef, not #if.
10912 Thu Jul 19 15:08:40 2012 Koichi Sasada <ko1@atdot.net>
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.
10920 * test/ruby/test_thread.rb: add a test for Thread.control_interrupt.
10922 * thread.c (rb_threadptr_raise): make a new exception object
10925 * thread.c (rb_thread_kill): kill thread immediately if target thread
10928 * vm_core.h (RUBY_VM_CHECK_INTS_BLOCKING): added.
10929 CHECK_INTS while/after blocking operation.
10931 * vm_core.h (RUBY_VM_CHECK_INTS): require rb_thread_t ptr.
10933 * cont.c (fiber_switch): use replaced RUBY_VM_CHECK_INTS().
10935 * eval.c (ruby_cleanup): ditto.
10937 * insns.def: ditto.
10939 * process.c (rb_waitpid): ditto.
10941 * vm_eval.c (vm_call0): ditto.
10943 * vm_insnhelper.c (vm_call_method): ditto.
10945 Thu Jul 19 22:46:48 2012 Tanaka Akira <akr@fsij.org>
10947 * test/ruby/test_io.rb: remove temporally files early.
10949 Thu Jul 19 15:38:35 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
10955 * variable.c (rb_mod_constants): fix typo in documentation.
10957 Thu Jul 19 14:30:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10959 * internal.h: move mark function declarations that should be private.
10961 Thu Jul 19 14:18:22 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10963 * ext/socket/init.c (rsock_init_sock): need to update max fd on all
10966 Thu Jul 19 14:15:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
10968 * thread.c (rb_gc_mark_threads): remove deprecated function.
10970 Thu Jul 19 13:28:03 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10972 * test/net/http/test_http.rb (TestNetHTTPLocalBind#test_bind_to_local*):
10973 re-enable the tests because now it's OK on windows.
10975 Thu Jul 19 13:26:25 2012 NAKAMURA Usaku <usa@ruby-lang.org>
10977 * ext/socket/extconf.rb: now enable IPv6 by default on mswin.
10979 Thu Jul 19 09:33:46 2012 Aaron Patterson <aaron@tenderlovemaking.com>
10981 * ext/psych/emitter.c (initialize): allow a configuration object to be
10982 passed to the constructor so that mutation isn't required after
10985 * ext/psych/lib/psych/handler.rb: add configuration object
10987 * ext/psych/lib/psych/visitors/emitter.rb: use configuration object if
10988 extra configuration is present.
10990 Thu Jul 19 08:20:25 2012 Tanaka Akira <akr@fsij.org>
10992 * test/ruby/test_file.rb: remove temporally files early.
10994 Thu Jul 19 07:37:41 2012 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
10996 * test/drb/drbtest.rb: fixed: can't delete unix domain sockets problem.
10998 Thu Jul 19 03:41:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
11000 * bignum.c: Added #include <strings.h> for ffs(). Patch by Perry
11001 Smith. Thank you. [Bug #6748]
11003 Thu Jul 19 01:56:02 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
11005 * include/ruby/intern.h (rb_num_zerodiv): Added NORETURN.
11006 Patched by Xi Wang. [Bug #6736]
11008 Wed Jul 18 23:57:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11010 * pack.c (pack_pack): round down too long uuencode width. folding
11011 width in uuencode format cannot be longer than 63 bytes.
11013 Wed Jul 18 23:04:18 2012 NARUSE, Yui <naruse@ruby-lang.org>
11015 * ext/dbm/dbm.c (fdbm_empty_p): fix wrong condition introduced in r36438.
11017 * ext/sdbm/init.c (fsdbm_empty_p): ditto.
11019 Wed Jul 18 23:08:57 2012 Tanaka Akira <akr@fsij.org>
11021 * test/ruby/test_beginendblock.rb: remove temporally files early.
11023 Wed Jul 18 22:43:02 2012 Tanaka Akira <akr@fsij.org>
11025 * test/ruby/test_autoload.rb: remove temporally files early.
11027 Wed Jul 18 21:59:46 2012 Tanaka Akira <akr@fsij.org>
11029 * test/ruby/test_argf.rb: use temporally directory.
11031 Wed Jul 18 19:41:19 2012 Tanaka Akira <akr@fsij.org>
11033 * test/openssl/test_config.rb: remove temporally files early.
11035 Wed Jul 18 17:45:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11037 * error.c (rb_builtin_type_name): map by index.
11039 Wed Jul 18 16:17:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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...
11045 Wed Jul 18 16:09:10 2012 Shugo Maeda <shugo@ruby-lang.org>
11047 * ext/curses/extconf.rb: support PDCurses. patched by Luis Lavena.
11048 [ruby-core:46485] [Feature #6735]
11050 Wed Jul 18 15:50:25 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
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]
11061 Wed Jul 18 15:33:21 2012 Koichi Sasada <ko1@atdot.net>
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.
11067 * include/ruby/thread.h (decl. of rb_thread_call_without_gvl2): added.
11069 * thread.c (rb_thread_call_with_gvl): remove "EXPERIMENTAL!"
11070 warning from a document.
11072 Wed Jul 18 14:53:21 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11074 * configure.in (EXTDLDFLAGS): split options for each extension
11075 libraries, and unused in ruby.pc. [Bug #6734]
11077 * lib/mkmf.rb (MakeMakefile#configuration): add EXTDLDFLAGS.
11079 Wed Jul 18 14:47:23 2012 Koichi Sasada <ko1@atdot.net>
11081 * thread.c: fix last commit miss.
11083 Wed Jul 18 14:16:51 2012 Koichi Sasada <ko1@atdot.net>
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.
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).
11101 * vm.c (rb_thread_mark): fix a mark function.
11103 * cont.c (rb_fiber_start): enque an error.
11105 * process.c (after_fork): clear async errinfo queue.
11107 Wed Jul 18 14:25:55 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
11109 * pack.c: (ditto) bitwise operations are not char. Apply explicit
11112 Wed Jul 18 12:59:50 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
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.
11118 * bignum.c (rb_cstr_to_inum): ditto.
11120 Wed Jul 18 12:55:54 2012 NARUSE, Yui <naruse@ruby-lang.org>
11122 * lib/benchmark.rb: Fix Benchmark.benchmark output with an empty
11123 caption. patched by Benoit Daloze. [ruby-core:45719] [Bug #6610]
11125 Wed Jul 18 10:00:54 2012 Eric Hodel <drbrain@segment7.net>
11127 * lib/debug.rb: Added toplevel documentation. Based on patch by Oscar
11128 Del Ben. [Bug #6743], fixes #146 on github.
11130 Wed Jul 18 09:33:59 2012 NAKAMURA Usaku <usa@ruby-lang.org>
11132 * test/win32ole/test_win32ole_event.rb (TestWIN32OLE_EVENT): use
11133 standard skip method to skip tests.
11135 Wed Jul 18 09:26:45 2012 Eric Hodel <drbrain@segment7.net>
11137 * lib/logger.rb: Updated typos and output to match modern Logger
11138 output. Patch by Marcus Stollsteimer. [Bug #6738]
11140 Wed Jul 18 07:59:29 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
11142 * lib/cgi/util.rb (CGI.escapeHTML,unescapeHTML): Add ' for HTML5
11146 Tue Jul 17 22:17:13 2012 Tanaka Akira <akr@fsij.org>
11148 * lib/open-uri.rb: call io.close! for Tempfile.
11150 Tue Jul 17 16:41:32 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
11155 Tue Jul 17 03:56:34 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
11163 Mon Jul 16 23:20:24 2012 Tanaka Akira <akr@fsij.org>
11165 * bignum.c (rb_integer_float_cmp): use FIXNUM_MIN and FIXNUM_MAX,
11166 instead of LONG_MIN and LONG_MAX.
11168 Mon Jul 16 22:50:41 2012 Tanaka Akira <akr@fsij.org>
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]
11174 Mon Jul 16 22:01:00 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
11176 * ext/readline/readline.c: fixed docs. [Bug #6740][ruby-core:46501]
11177 patched by Nobuhiro IMAI.
11179 Mon Jul 16 19:24:01 2012 Tanaka Akira <akr@fsij.org>
11181 * bignum.c (rb_integer_float_eq): new function.
11182 (rb_big_eq): use rb_integer_float_eq.
11184 * internal.h (rb_integer_float_eq): declared.
11186 * numeric.c (flo_eq): use rb_integer_float_eq.
11187 (fix_equal): ditto.
11189 Mon Jul 16 19:02:31 2012 Tanaka Akira <akr@fsij.org>
11191 * bignum.c (rb_integer_float_cmp): rename a local variable.
11193 Mon Jul 16 18:40:26 2012 Tanaka Akira <akr@fsij.org>
11195 * bignum.c (rb_integer_float_cmp): renamed from rb_big_float_cmp.
11197 * internal.h: follow the above change.
11199 * numeric.c: ditto.
11201 Mon Jul 16 17:57:54 2012 Tanaka Akira <akr@fsij.org>
11203 * bignum.c (rb_big_float_cmp): compare an integer and float precisely.
11204 [ruby-core:31376] [Bug #3589] reported by Tomasz Wegrzanowski.
11206 Mon Jul 16 17:29:45 2012 Tanaka Akira <akr@fsij.org>
11208 * bignum.c (rb_big_float_cmp): support fixnum for argument x.
11210 * numeric.c (fix_equal): use rb_big_float_cmp.
11217 (flo_cmp): use rb_big_float_cmp for fixnum argument.
11223 Mon Jul 16 17:05:53 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
11225 * test/fileutils/test_fileutils.rb: add test for FileUtils#uptodate?
11227 Mon Jul 16 16:56:12 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
11229 * lib/fileutils.rb (FileUtils.uptodate?): remove useless parameter.
11230 patched by Oscar Del Ben.[Bug #6708][ruby-core:46256]
11232 Mon Jul 16 15:37:56 2012 Tanaka Akira <akr@fsij.org>
11234 * bignum.c (rb_big_eq): use rb_big_float_cmp.
11236 Mon Jul 16 15:00:45 2012 Tanaka Akira <akr@fsij.org>
11238 * internal.h (rb_big_float_cmp): declared.
11240 * bignum.c (rb_big_float_cmp): extracted from rb_big_cmp and big_op.
11241 (rb_big_cmp): use rb_big_float_cmp.
11244 * numeric.c (flo_cmp): use rb_big_float_cmp.
11250 Mon Jul 16 14:14:21 2012 Tanaka Akira <akr@fsij.org>
11252 * bignum.c (enum big_op_t): new type.
11253 (big_op): use enum big_op_t.
11259 Sat Jul 14 18:18:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11261 * array.c (rb_get_values_at): fill with nil out of range.
11262 [ruby-core:43678] [Bug #6203]
11264 Sat Jul 14 17:17:55 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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
11269 Sat Jul 14 17:08:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
11274 Sat Jul 14 16:16:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11276 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): use
11279 * lib/test/unit.rb (Test::Unit::Runner#deal): deal tasks to workers.
11281 * lib/test/unit.rb (Test::Unit::Runner#quit_workers): close and kill
11284 * lib/test/unit.rb (Test::Unit::Runner#delete_worker): delete dead
11285 worker from working set.
11287 * lib/test/unit.rb (Test::Unit::Runner#launch_worker): add new worker
11290 * lib/test/unit.rb (Test::Unit::Runner#launch_worker): extract.
11292 * lib/test/unit.rb (Test::Unit::Runner#start_watchdog): extract.
11294 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): move
11295 initializations with nothing to release outside begin/ensure.
11297 Sat Jul 14 16:04:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11299 * array.c (rb_ary_join): should not infected by separator if it is not
11300 used. [ruby-core:42161][Bug #5902]
11302 Sat Jul 14 02:31:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11304 * include/ruby/intern.h (rb_thread_blocking_region): fix declarations
11305 prototypes without arguments in C++ have different meanings than C.
11307 Thu Jul 12 12:32:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11309 * test/runner.rb: skip default gems to get rid of loading old versions
11310 before installation.
11312 Thu Jul 12 11:44:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
11318 Thu Jul 12 10:46:39 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
11324 Thu Jul 12 08:48:33 2012 Ryan Davis <ryand-ruby@zenspider.com>
11326 * lib/minitest/*: Imported minitest 3.2.0 (r7598)
11327 * test/minitest/*: ditto
11329 Thu Jul 12 05:11:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
11335 Thu Jul 12 01:49:07 2012 NARUSE, Yui <naruse@ruby-lang.org>
11337 * lib/net/http.rb (Net::HTTP#connect): use local_host and local_port
11338 if specified. patched by Ricardo Amorim [Feature #6617]
11340 Wed Jul 11 17:36:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11342 * ext/extmk.rb: append ENCOBJS to DLDOBJS but not EXTSOLIBS which is
11343 not a target, to compile enc/encinit.c.
11345 Wed Jul 11 12:38:20 2012 NAKAMURA Usaku <usa@ruby-lang.org>
11347 * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): nonstatic initializer
11348 of an aggregate type is a C99ism.
11350 * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): get rid of VC++
11353 Mon Jul 9 16:11:30 2012 Yuki Yugui Sonoda <yugui@google.com>
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().
11359 * nacl/pepper_ruby.c: Follows the change in vm_eval.c
11361 Mon Jul 9 14:05:42 2012 Yuki Yugui Sonoda <yugui@google.com>
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.
11370 * eval.c (ruby_eval_main_internal): became ruby_exec_internal() again.
11371 (ruby_eval_main): removed.
11373 * ruby.c (PREPARE_PARSE_MAIN) reverted.
11374 (parse_and_compile_main, ruby_compile_main_from_file,
11375 ruby_compile_main_from_string): removed
11377 Wed Jul 11 10:16:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11379 * include/ruby.h (HAVE_RUBY_THREAD_H): to show ruby/thread.h to be
11380 available. fixup of r36355.
11382 Wed Jul 11 03:26:47 2012 Eric Hodel <drbrain@segment7.net>
11384 * ext/zlib/zlib.c: Added streaming support to inflate processing.
11385 This allows zlib streams to be processed without huge memory growth.
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
11399 * test/zlib/test_zlib.rb: Updated tests
11401 Tue Jul 10 22:57:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11403 * include/ruby/thread.h: new header file for thread stuff.
11405 * thread.c (rb_thread_call_without_gvl): export. [Feature#4328]
11406 returns void* instead of VALUE. [Feature #5543]
11408 * thread.c (rb_thread_blocking_region): deprecate. [ruby-core:46295]
11410 Tue Jul 10 10:48:59 2012 NAKAMURA Usaku <usa@ruby-lang.org>
11412 * include/ruby/win32.h (NT, NtInitialize): removed unused old macros.
11414 Tue Jul 10 10:43:37 2012 NAKAMURA Usaku <usa@ruby-lang.org>
11416 * configure.in: removed --enable/disable-win95 options. (see r36342)
11418 Tue Jul 10 00:44:41 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
11420 * include/ruby/ruby.h: Removed RUBY_GLOBAL_SETUP completely. It is
11421 no meaning definition since r24894.
11423 * nacl/pepper_main.c: ditto.
11425 Mon Jul 9 23:59:36 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
11431 * process.c: ditto.
11433 * vm_dump.c: ditto.
11435 Mon Jul 9 17:37:35 2012 NAKAMURA Usaku <usa@ruby-lang.org>
11437 * win32/win32.c (win95_stat): removed unnecessary macro.
11439 Mon Jul 9 17:22:16 2012 NAKAMURA Usaku <usa@ruby-lang.org>
11441 * win32/configure.bat, win32/setup.mak, win32/Makefile.sub: omitted
11442 Win9x support. removed --enable/disable-win95 options.
11444 * include/ruby/win32.h, file.c, win32/win32.c: ditto.
11446 * win32/README.win32: ditto.
11448 Mon Jul 9 13:28:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11450 * configure.in (DLDFLAGS): use TARGET_ENTRY to specify an entry point
11451 instead of TARGET which may contain non-identifier characters.
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]
11456 Sun Jul 8 07:36:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11458 * parse.y (shadowing_lvar_gen, warn_unused_var): no warnings for
11459 variables starting with _. [ruby-core:46160][Feature #6693]
11461 Sat Jul 7 23:07:30 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
11463 * test/csv/test_features.rb: add require for Tempfile.
11464 * test/csv/test_serialization.rb: ditto.
11466 Fri Jul 6 06:49:50 2012 Eric Hodel <drbrain@segment7.net>
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
11474 Fri Jul 6 05:38:44 2012 Eric Hodel <drbrain@segment7.net>
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.
11483 Fri Jul 6 04:05:59 2012 Eric Hodel <drbrain@segment7.net>
11485 * ext/zlib/zlib.c (zstream_expand_buffer_without_gvl): Use
11486 ruby_xrealloc() to avoid crash with CALC_EXACT_MALLOC_SIZE.
11488 Thu Jul 5 17:32:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11490 * internal.h: move ThreadShield declarations from intern.h.
11492 Thu Jul 5 16:00:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11494 * thread.c (ThreadShield): rename from Barrier.
11496 Thu Jul 5 15:14:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11498 * bootstraptest/runner.rb (show_progress): refine error output. do not
11499 count non-empty error message, but just warn.
11501 * bootstraptest/runner.rb (error): show errors immediately if tty.
11503 Thu Jul 5 12:28:11 2012 Akinori MUSHA <knu@iDaemons.org>
11505 * test/net/http/test_httpresponses.rb: Add a test file for
11506 Net::HTTPResponses and put a test case for the previous bug.
11508 Thu Jul 5 06:33:52 2012 Mark Dodwell <mark@mkdynamic.co.uk>
11510 * lib/net/http/responses.rb: Fix 4xx classes to inherit correctly
11511 from Net::HTTPClientError. [Bug #6700]
11513 Wed Jul 4 21:55:35 2012 NARUSE, Yui <naruse@ruby-lang.org>
11515 * ruby.c (proc_options): warn only if -K and -w option is specified.
11516 see also r36274 [Feature #5206]
11518 Wed Jul 4 21:41:44 2012 Naohisa Goto <ngotogenome@gmail.com>
11520 * gc.c, atomic.h (ATOMIC_SIZE_*): moved from gc.c to atomic.h
11523 Wed Jul 4 19:13:15 2012 Masaki Suketa <masaki.suketa@nifty.ne.jp>
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]
11529 Wed Jul 4 11:52:12 2012 NAKAMURA Usaku <usa@ruby-lang.org>
11531 * gc.c (ATOMIC_SIZE_*): 64bit Windows support.
11533 Wed Jul 4 11:11:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
11539 * vm_insnhelper.c (vm_push_frame): set proper method entry.
11541 Wed Jul 4 08:29:31 2012 Eric Hodel <drbrain@segment7.net>
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.
11551 Wed Jul 4 07:05:59 2012 Eric Hodel <drbrain@segment7.net>
11553 * test/zlib/test_zlib.rb (test_inflate_partial_input): Added test for
11554 inflating incomplete zlib streams.
11556 Tue Jul 3 23:14:16 2012 Naohisa Goto <ngotogenome@gmail.com>
11558 * gc.c (ATOMIC_SIZE_EXCHANGE): fix function name on Solaris [Bug #6689]
11561 Tue Jul 3 16:07:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11563 * gc.c (vm_malloc_fixup, vm_xrealloc, vm_xfree, after_gc_sweep): use
11564 atomic operations to update malloc_params.
11566 Tue Jul 3 14:50:16 2012 Eric Hodel <drbrain@segment7.net>
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.
11572 Tue Jul 3 12:05:51 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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)
11578 Tue Jul 3 11:56:46 2012 Eric Hodel <drbrain@segment7.net>
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
11588 Tue Jul 3 11:16:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11590 * common.mk (runnable): make symbolic links to run in build directory.
11592 Tue Jul 3 10:46:06 2012 NARUSE, Yui <naruse@ruby-lang.org>
11594 * ruby.c (proc_options): warn if -K option is specified. [Feature #5206]
11596 Tue Jul 3 06:12:13 2012 Eric Hodel <drbrain@segment7.net>
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]
11602 Tue Jul 3 06:02:54 2012 Eric Hodel <drbrain@segment7.net>
11604 * ext/zlib/zlib.c (zstream_run): Process zlib streams without GVL.
11608 Mon Jul 2 22:13:04 2012 Tanaka Akira <akr@fsij.org>
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]
11614 Mon Jul 2 21:25:55 2012 Tanaka Akira <akr@fsij.org>
11616 * time.c (timew_out_of_timet_range): specialization for
11617 SIZEOF_TIME_T == SIZEOF_INT64_T.
11619 Mon Jul 2 17:06:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11621 * class.c (rb_include_module): include modules after the origin.
11623 * class.c (include_modules_at): skip prepended modules.
11625 * class.c (rb_prepend_module): now basic.klass in ICLASS refers the
11626 old original class/module. [ruby-dev:45868][Bug #6662]
11628 * class.c (rb_mod_ancestors): ditto.
11630 * vm_method.c (search_method): search method entry from the origin
11633 Mon Jul 2 05:54:58 2012 Tadayoshi Funaba <tadf@dotrb.org>
11635 * ext/date/date_core.c: [ruby-core:46058].
11637 Mon Jul 2 05:35:43 2012 Tadayoshi Funaba <tadf@dotrb.org>
11639 * ext/date/date_core.c (d_lite_marshal_load): accepts old dump.
11641 Mon Jul 2 03:21:53 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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]
11647 Fri Jun 29 05:08:41 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
11653 Thu Jun 28 20:33:15 2012 Luis Lavena <luislavena@gmail.com>
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]
11659 Thu Jun 28 09:27:09 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
11661 * class.c (class_instance_method_list): consider prepended Class/Module
11662 when recur != 0. [ruby-dev:45863] [Bug #6660]
11664 * test/ruby/test_module.rb (test_prepend_instance_methods_false): add
11668 Thu Jun 28 06:12:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11670 * class.c (rb_mod_ancestors): fix ancestors order.
11671 [ruby-core:45919][Bug #6658] [ruby-dev:45861][Bug #6659]
11673 Wed Jun 27 21:28:59 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
11675 * lib/racc/parser.rb: NotImplementError is not exist.
11677 * lib/irb/output-method.rb (IRB::OutputMethod#print): ditto.
11679 Wed Jun 27 21:31:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11681 * class.c (rb_prepend_module): ancestors of prepending module also
11682 should be included. [ruby-core:45914][Bug #6654]
11684 Wed Jun 27 21:01:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11686 * class.c (class_instance_method_list): m_tbl in prepended
11687 class/module is NULL. [ruby-core:45915][Bug #6655]
11689 Wed Jun 27 16:48:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11691 * class.c (rb_prepend_module): prepend module into another module.
11693 * eval.c (rb_mod_prepend): new method Module#prepend. [Feature #1102]
11695 Wed Jun 27 09:15:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11697 * io.c (is_popen_fork): check if fork and raise NotImplementedError if
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]
11704 * process.c (rb_execarg_extract_options): extract exec options, but no
11705 exceptions on non-exec options and returns them as a Hash.
11707 * process.c (rb_execarg_setenv): set environment variables.
11709 Tue Jun 26 16:57:14 2012 Koichi Sasada <ko1@atdot.net>
11711 * thread_pthread.c (register_cached_thread_and_wait):
11712 return immediately if malloc() failed.
11713 [ruby-core:43960] [ruby-trunk - Bug #6235]
11715 * thread_pthread.c (USE_THREAD_CACHE): check already defined or not.
11717 Tue Jun 26 10:01:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11719 * io.c (rb_io_s_popen): revert r36213 "popen: shell commands with
11720 envvar" because it disabled to let single command bypass shell.
11722 Mon Jun 25 17:49:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11724 * class.c (rb_mix_module): revert Module#mix.
11726 Mon Jun 25 16:57:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11728 * proc.c (rb_mod_define_method): allow method transplanting from a
11729 module to either class or module. [ruby-core:34267][Feature #4254]
11731 Mon Jun 25 11:34:45 2012 NAKAMURA Usaku <usa@ruby-lang.org>
11733 * internal.h: use rb_pid_t instead of pid_t because of there is no
11734 definition of pid_t here on Windows.
11736 Mon Jun 25 00:25:01 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
11738 * configure.in (for stack end address): remove human68k specific
11739 check. It is no longer supported.
11741 Sun Jun 24 23:02:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11743 * io.c (pipe_open): merge win32 code using spawnv().
11745 Sun Jun 24 22:53:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11747 * process.c (check_exec_fds): separate check_exec_fds_1() since
11748 nonstatic initializer of an aggregate type is not allowed by C89.
11750 Sun Jun 24 07:47:17 2012 Tanaka Akira <akr@fsij.org>
11752 * internal.h (rb_execarg): options field removed.
11754 * process.c: follow the rb_execarg change.
11756 Sat Jun 23 23:48:21 2012 Tanaka Akira <akr@fsij.org>
11758 * process.c (proc_spawn_cmd): unused variable removed to suppress a
11762 [ruby-core:45797] reported by Luis Lavena.
11764 Sat Jun 23 23:19:31 2012 Tanaka Akira <akr@fsij.org>
11766 * internal.h (rb_execarg): add new_pgroup_given and new_pgroup_flag
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.
11775 [ruby-core:45794] [ruby-trunk - Bug #6633] reported by Luis Lavena.
11777 Sat Jun 23 20:26:36 2012 Tanaka Akira <akr@fsij.org>
11779 * internal.h (rb_execarg): add fd_dup2, fd_close, fd_open,
11780 fd_dup2_child fields.
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.
11794 Sat Jun 23 19:01:18 2012 Tanaka Akira <akr@fsij.org>
11796 * process.c (rb_execarg_fixup): fix envopts condition.
11798 Sat Jun 23 18:44:13 2012 Tanaka Akira <akr@fsij.org>
11800 * process.c (check_exec_redirect1): extracted from
11801 check_exec_redirect.
11803 Sat Jun 23 17:22:02 2012 Tanaka Akira <akr@fsij.org>
11805 * process.c (save_env): don't use EXEC_OPTION_UNSETENV_OTHERS.
11806 (rb_execarg_run_options): ditto.
11808 Sat Jun 23 17:04:08 2012 Tanaka Akira <akr@fsij.org>
11810 * internal.h (rb_execarg): add env_modification field.
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.
11817 (rb_execarg_run_options): ditto.
11819 Sat Jun 23 16:27:01 2012 Tanaka Akira <akr@fsij.org>
11821 * internal.h (rb_execarg): add rlimit_limits field.
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
11830 Sat Jun 23 14:29:25 2012 Tanaka Akira <akr@fsij.org>
11832 * internal.h (rb_execarg): add chdir_given and chdir_dir fields.
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.
11839 Sat Jun 23 13:20:47 2012 Tanaka Akira <akr@fsij.org>
11841 * internal.h (rb_execarg): add close_others_given, close_others_do and
11842 close_others_maxhint fields.
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.
11851 Sat Jun 23 10:41:59 2012 Tanaka Akira <akr@fsij.org>
11853 * internal.h (rb_execarg): add unsetenv_others_given and
11854 unsetenv_others_do fields.
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.
11860 Sat Jun 23 09:35:47 2012 Tanaka Akira <akr@fsij.org>
11862 * process.c: use the variable name "soptions" for sargp->options.
11864 Sat Jun 23 09:17:49 2012 Tanaka Akira <akr@fsij.org>
11866 * process.c: use the name "sargp" for struct rb_execarg variables
11867 consistently for saving process attributes.
11871 Sat Jun 23 07:59:57 2012 Tanaka Akira <akr@fsij.org>
11873 * process.c: use the name "eargp" for struct rb_execarg variables
11874 consistently except for saving process attributes.
11878 * ext/pty/pty.c: ditto.
11880 Wed Jun 20 18:27:03 2012 Yuki Yugui Sonoda <yugui@google.com>
11882 * common.mk: Add missing dependencies.
11884 Fri Jun 22 20:27:39 2012 Tanaka Akira <akr@fsij.org>
11886 * internal.h (rb_execarg): add pgroup_given and pgroup_pgid fields.
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
11892 (rb_execarg_run_options): follow run_exec_pgroup change.
11894 Fri Jun 22 18:48:51 2012 Kouhei Sutou <kou@cozmixng.org>
11896 * README.EXT, README.EXT.ja: use "sval" for the third argument
11897 name of Data_Wrap_Struct().
11898 Suggested by @satoh_fumiyasu. Thanks!!!
11900 Fri Jun 22 18:04:26 2012 Koichi Sasada <ko1@atdot.net>
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.
11921 * bootstraptest/test_eval.rb: add a test for above.
11923 * internal.h: remove unused decl.
11925 * iseq.c (rb_iseq_compile_with_option): add base_block parameter.
11926 set th->base_block before compilation and restore it after
11929 * ruby.c (require_libraries): pass 0 as base_block instead of
11930 setting th->base_block
11932 * tool/compile_prelude.rb (prelude_eval): apply above changes.
11934 * vm.c, vm_eval.c: ditto.
11936 * vm_core.h: add comments.
11938 Fri Jun 22 18:19:38 2012 Tanaka Akira <akr@fsij.org>
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.
11950 (rb_execarg_run_options): follow the above functions change.
11952 Fri Jun 22 17:55:48 2012 Koichi Sasada <ko1@atdot.net>
11954 * test/ruby/test_backtrace.rb: decrease recursion depth
11955 to reduce consuming stack size.
11957 Fri Jun 22 13:36:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11959 * random.c (random_init, random_load): cannot initialize frozen object
11960 again, nor with tainted/untrusted object. [Bug #6540]
11962 Fri Jun 22 13:32:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
11964 * error.c (rb_check_copyable): new function, to ensure the target is
11965 not frozen and the source is not tainted nor untrusted.
11967 Fri Jun 22 05:55:20 2012 Eric Hodel <drbrain@segment7.net>
11969 * eval.c (ruby_cleanup): Fixed typo. Patch by Trever Dawe.
11970 Fixes #131 (github). [ruby-trunk - Bug #6619]
11972 Thu Jun 21 21:16:58 2012 Tanaka Akira <akr@fsij.org>
11974 * process.c (rb_execarg_addopt): take a VALUE argument instead of
11976 (rb_exec_arg_addopt): follow the rb_execarg_addopt change.
11977 (check_exec_options_i): ditto.
11979 * io.c (pipe_open): follow the rb_execarg_addopt change.
11981 * internal.h (rb_execarg_addopt): follow the definition change.
11983 Thu Jun 21 20:34:19 2012 Tanaka Akira <akr@fsij.org>
11985 * process.c (rb_exec_fillarg): take a VALUE argument instead of
11987 (rb_check_exec_options): ditto.
11988 (check_exec_options_i): ditto.
11990 Thu Jun 21 19:48:05 2012 Tanaka Akira <akr@fsij.org>
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.
11996 Thu Jun 21 19:02:43 2012 Tanaka Akira <akr@fsij.org>
11998 * process.c (rb_exec_fillarg): take a VALUE argument instead of
12000 (rb_execarg_init): follow the rb_exec_fillarg change.
12002 Thu Jun 21 18:36:43 2012 Tanaka Akira <akr@fsij.org>
12004 * process.c (rb_execarg_init): take a VALUE argument instead of
12006 (rb_execarg_new): follow the rb_execarg_init change.
12007 (rb_exec_arg_init): ditto.
12009 * internal.h (rb_execarg_init): follow the definition change.
12011 Thu Jun 21 17:20:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
12019 Thu Jun 21 07:06:52 2012 Koichi Sasada <ko1@atdot.net>
12021 * error.c (err_append): rename err_append() to compile_err_append()
12022 and move definition body. err_append() is used only by compiling.
12024 Thu Jun 21 06:21:54 2012 Tanaka Akira <akr@fsij.org>
12026 * process.c (rb_execarg_fixup): take a VALUE argument instead of
12029 * internal.h (rb_execarg_fixup): follow the definition change.
12031 * io.c (pipe_open): follow rb_execarg_fixup change.
12033 * ext/pty/pty.c (establishShell): ditto.
12035 Wed Jun 20 21:25:37 2012 Tanaka Akira <akr@fsij.org>
12037 * internal.h (struct rb_execarg): add umask_given and umask_mask
12040 * process.c (STATIC_ASSERT): removed.
12041 (rb_execarg_addopt): follow the rb_execarg change.
12042 (rb_execarg_run_options): ditto.
12044 Wed Jun 20 20:38:23 2012 Tanaka Akira <akr@fsij.org>
12046 * internal.h (struct rb_execarg) moved and renamed from
12047 struct rb_exec_arg in intern.h.
12049 * include/ruby/intern.h (struct rb_exec_arg): refer Data object which
12050 contains struct rb_execarg.
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.
12063 * io.c: use struct rb_execarg instead of struct rb_exec_arg.
12065 * ext/pty/pty.c: ditto.
12067 Wed Jun 20 19:13:25 2012 Tanaka Akira <akr@fsij.org>
12069 * internal.h (rb_execarg_new): declared.
12070 (rb_execarg_get): ditto.
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.
12082 * io.c (pipe_open_v): use rb_execarg_new.
12083 (pipe_open_s): ditto.
12085 * ext/pty/pty.c (establishShell): use rb_execarg_new.
12087 Wed Jun 20 16:36:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
12093 Wed Jun 20 11:33:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12095 * process.c (rb_execarg_addopt): always make Fixnum, and ignore higher
12096 bits in too large umask value.
12098 Wed Jun 20 11:24:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12100 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): deal with
12101 sudden-death of workers.
12103 Mon Jun 18 20:34:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
12105 * time.c (init_leap_second_info): fix non-ANSI function declaration.
12107 Mon Jun 18 20:29:04 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
12109 * ruby.c (rb_f_sub): use ansi style declaration.
12110 * ruby.c (rb_f_gsub): ditto.
12111 * ruby.c (rb_f_chomp): ditto.
12113 Mon Jun 18 20:26:23 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
12115 * random.c (rb_random_int32): get rid of "warning: constant 0x100000000
12116 is so big it is long" warning.
12118 Mon Jun 18 20:07:23 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
12120 * dir.c (dir_initialize): get rid of "unused return: argc = rb_scan_args()"
12123 Mon Jun 18 19:31:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
12125 * include/ruby/missing.h: include math.h before checking INFINITY
12126 and NAN. Otherwise, strange macro redefinition will occur.
12128 Mon Jun 18 19:12:37 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
12130 * array.c (ary_reverse): use ansi style declaration.
12132 Tue Jun 19 18:43:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12134 * include/ruby/backward/rubysig.h: fix visibility. [Bug #6607]
12136 Tue Jun 19 17:51:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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().
12142 Tue Jun 19 11:59:56 2012 NARUSE, Yui <naruse@ruby-lang.org>
12144 * ext/readline/readline.c (Init_readline): don't set 0 to
12145 rl_catch_signals and rl_catch_sigwinch. [Bug #5423]
12147 Tue Jun 19 11:52:59 2012 NARUSE, Yui <naruse@ruby-lang.org>
12149 * ext/readline/readline.c (readline_s_get_special_prefixes): suppress
12150 warning: uninitialized instance variable.
12152 Tue Jun 19 11:43:16 2012 NARUSE, Yui <naruse@ruby-lang.org>
12154 * ext/readline/readline.c (readline_getc): fix editline compatibility
12155 broken by r36123. [Bug #6601]
12157 Mon Jun 18 17:10:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12159 * string.c (rb_str_subpos): split from rb_str_substr. returns
12160 adjusted position for substring.
12162 Mon Jun 18 10:42:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
12168 Sun Jun 17 22:23:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
12174 Sun Jun 17 16:21:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
12180 * thread_win32.c (native_mutex_lock, native_mutex_destroy): fix for
12183 * thread_win32.c (native_cond_timedwait_ms): rename reserved pattern
12184 name. user defined symbols should not start with __.
12186 Sat Jun 16 19:24:01 2012 Tadayoshi Funaba <tadf@dotrb.org>
12188 * ext/date/date_core.c: define date_sg_t.
12190 Sat Jun 16 18:46:57 2012 Tadayoshi Funaba <tadf@dotrb.org>
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.
12196 Sat Jun 16 18:31:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12198 * eval.c (ruby_setup): set running state in the normal case before
12201 Sat Jun 16 07:46:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12203 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): format workers
12204 results in the parent.
12206 Sat Jun 16 07:12:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12208 * tool/runruby.rb (File.realpath): return real path of expanded path.
12211 Sat Jun 16 07:12:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12213 * bootstraptest/runner.rb (main): ignore -j option for compatibility
12216 Sat Jun 16 07:11:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12218 * lib/test/unit.rb (Test::Unit::Runner#puke): modify only result and
12219 drop useless reports, not override entirely.
12221 * lib/test/unit/parallel.rb (Test::Unit::Worker#_run_suite): report
12222 unformatted results. formatting messages is not a workers task.
12224 * lib/test/unit/parallel.rb (Test::Unit::Worker#puke): store raw
12227 Sat Jun 16 01:27:14 2012 Aaron Patterson <aaron@tenderlovemaking.com>
12229 * ext/psych/lib/psych.rb: bumping psych to 1.3.3
12230 * ext/psych/psych.gemspec: ditto
12232 Fri Jun 15 20:54:28 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
12234 * vm_backtrace.c (backtrace_collect): rename from backtreace_collect.
12236 Fri Jun 15 19:22:13 2012 Koichi Sasada <ko1@atdot.net>
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.
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.
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.
12271 * insns.def (leave, finish): remove finish instruction.
12273 * vm.c, vm_eval.c, vm_exec.c, vm_backtrace.c, vm_dump.c:
12274 apply above changes.
12276 Fri Jun 15 19:11:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12278 * lib/test/unit.rb (Test::Unit::Runner#puke): always add skipped
12279 results to the report for parallel test. [Bug #6595]
12281 Fri Jun 15 09:01:35 2012 Yuki Yugui Sonoda <yugui@google.com>
12283 * nacl/pepper_main.c: Removed an unnecessary and erroneous inclusion.
12285 Thu Jun 14 22:59:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12287 * configure.in (RUBY_CPPOUTFILE): check if output is really sent to
12288 specified file to tell if -o option works. [ruby-dev:45742]
12291 * configure.in (RUBY_CPPOUTFILE): check if output file is actually
12292 created. [ruby-dev:45742] [Bug#6591]
12294 Thu Jun 14 22:10:50 2012 Tanaka Akira <akr@fsij.org>
12296 * process.c (proc_exec_sh): don't strip leading spaces of the script.
12298 Thu Jun 14 15:54:02 2012 NAKAMURA Usaku <usa@ruby-lang.org>
12300 * file.c (rb_file_s_basename, rb_file_s_dirname): documentation fix.
12301 File.basename and File.dirname support File::ALT_SEPARATOR.
12303 Thu Jun 14 11:10:10 2012 Yuki Yugui Sonoda <yugui@google.com>
12305 * nacl/pepper_main.c: Applies the new embedding API to pepper_ruby.
12307 Thu Jun 14 10:44:41 2012 Yuki Yugui Sonoda <yugui@google.com>
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
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
12320 (ruby_eval_main_internal): renamed from ruby_exec_internal.
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.
12330 Thu Jun 14 10:39:48 2012 Yuki Yugui Sonoda <yugui@google.com>
12332 * eval.c: Add doxygen comments.
12336 * thread_pthread.c: ditto
12338 * version.c: ditto.
12340 * vm_core.h: ditto.
12342 Thu Jun 14 10:16:07 2012 NARUSE, Yui <naruse@ruby-lang.org>
12344 * configure.in: revert r36071 and add NetBSD to blacklist of -ansi.
12346 Thu Jun 14 07:59:12 2012 NARUSE, Yui <naruse@ruby-lang.org>
12348 * thread_pthread.c (get_stack): Linux is the only OS which includes
12349 the size of guard page into the stack size.
12351 Thu Jun 14 06:21:00 2012 Eric Hodel <drbrain@segment7.net>
12353 * lib/drb/drb.rb: Replace broken links to the English DRb book.
12354 Patch by Zachary Scott. [ruby-trunk - Bug #6544]
12356 Thu Jun 14 06:17:47 2012 Eric Hodel <drbrain@segment7.net>
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.
12362 Thu Jun 14 05:23:05 2012 NARUSE, Yui <naruse@ruby-lang.org>
12364 * regparse.c (PFETCH_READY): suppress Wunused-but-set-variable.
12366 * regparse.c (is_onechar_cclass): restructured to clarify that c is
12367 used iff found == 1.
12369 Thu Jun 14 02:54:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
12377 Thu Jun 14 02:53:30 2012 NARUSE, Yui <naruse@ruby-lang.org>
12379 * Makefile.in: don't remove macros. now name2ctype uses macros.
12381 * tool/enc-unicode.rb: add comment why it uses Hash#index.
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.
12387 Thu Jun 14 00:16:59 2012 Akinori MUSHA <knu@iDaemons.org>
12389 * lib/net/http/responses.rb, lib/webrick/httpstatus.rb: Add HTTP
12390 response codes added in RFCs 2817 and 4918. [ruby-core:45547]
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]
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]
12402 Wed Jun 13 22:44:32 2012 Naohisa Goto <ngotogenome@gmail.com>
12404 * test/dl/test_func.rb (test_qsort1, test_qsort2): use TYPE_SIZE_T
12405 for size_t variables. [ruby-dev:45733] [Bug #6584]
12407 Wed Jun 13 22:18:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12409 * configure.in: remove -ansi and -std options for lgamma_r() and
12412 Wed Jun 13 21:46:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12414 * configure.in: cygwin does not provide some declarations in strict
12417 Wed Jun 13 20:19:59 2012 Tanaka Akira <akr@fsij.org>
12419 * process.c (rb_fork_internal): move a variable declaration.
12421 Wed Jun 13 17:54:38 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
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.
12427 Wed Jun 13 17:51:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12429 * configure.in: cygwin needs C99 for some stuff, e.g.,
12430 pthread_attr_setstacksize, sched_yield.
12432 Wed Jun 13 17:50:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12434 * Makefile.in (.c.i): add warnflags to make the result consistent with
12437 Wed Jun 13 15:12:07 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
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.
12445 Wed Jun 13 13:39:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12447 * include/ruby/win32.h: get rid of C99 style one line comments.
12449 Wed Jun 13 13:39:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12451 * encoding.c (enc_alias_internal): use strdup defined as macro.
12453 Wed Jun 13 10:20:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12455 * process.c (rb_exec_fillarg): get rid of SIZE_T_MAX which may need
12458 * process.c (rb_exec_fillarg): fix array element size. "continue" and
12459 "readonly" exceeded the size.
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
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.
12469 Tue Jun 12 23:45:36 2012 NARUSE, Yui <naruse@ruby-lang.org>
12471 * lib/mkmf.rb: add dummy clean-static target to prevent errors for the
12472 case real clean-static target doesn't exist.
12474 Tue Jun 12 22:49:42 2012 Naohisa Goto <ngotogenome@gmail.com>
12476 * process.c (rb_exec_arg_fixup): fix compile error
12478 Tue Jun 12 21:40:13 2012 Tanaka Akira <akr@fsij.org>
12480 * process.c (rb_exec_fillarg): treat '=' character as a meta
12481 character to detect assignments preceding command name.
12483 Tue Jun 12 20:29:19 2012 Tanaka Akira <akr@fsij.org>
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.
12491 * internal.h (rb_execarg_init): declared.
12492 (rb_execarg_addopt): ditto.
12493 (rb_execarg_fixup): ditto.
12494 (rb_execarg_run_options): ditto.
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.
12508 * io.c: call rb_execarg_addopt, rb_execarg_fixup,
12509 rb_execarg_run_options, rb_execarg_init.
12511 * ext/pty/pty.c (establishShell): call rb_execarg_init and
12514 Tue Jun 12 18:39:59 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
12516 * configure.in: enable strict ANSI mode by default in case of GCC,
12519 Tue Jun 12 06:40:23 2012 Tanaka Akira <akr@fsij.org>
12521 * process.c (rb_exec_fillarg): detect '#' as a meta character.
12523 Mon Jun 11 22:15:44 2012 Tanaka Akira <akr@fsij.org>
12525 * include/ruby/intern.h (rb_proc_exec_n): deprecated.
12527 (rb_exec_err): ditto.
12529 (rb_fork_err): ditto.
12531 Mon Jun 11 18:49:52 2012 NARUSE, Yui <naruse@ruby-lang.org>
12533 * configure.in: on checking libexecinfo, don't specify /use/local.
12534 On FreeBSD people must specify --with-opt-dir or --with-execinfo-dir.
12536 Mon Jun 11 12:14:37 2012 Koichi Sasada <ko1@atdot.net>
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
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
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
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.
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).
12578 * vm.c, vm_eval.c, vm_insnhelper.c, vm_insnhelper.h, insns.def:
12579 apply above changes.
12583 * eval.c, eval_intern.h: ditto.
12589 * vm_dump.c: ditto.
12591 * vm_exec.h: fix function name (on vm debug mode).
12593 Mon Jun 11 11:52:18 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
12595 * compile.c (iseq_set_sequence): nonstatic initializer of an
12596 aggregate type is a C99ism.
12598 * compile.c (enum compile_array_type_t): comma at the end of enum
12601 * vm_backtrace.c (enum LOCATION_TYPE): ditto.
12603 Mon Jun 11 06:31:33 2012 Tanaka Akira <akr@fsij.org>
12605 * process.c (rb_proc_exec_n): revert the function removed at r35889.
12607 Mon Jun 11 06:20:50 2012 NARUSE, Yui <naruse@ruby-lang.org>
12609 * thread_pthread.c (rb_thread_create_timer_thread): assign return
12610 value to the variable err.
12612 Mon Jun 11 06:17:06 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
12618 Mon Jun 11 05:21:57 2012 Koichi Sasada <ko1@atdot.net>
12620 * .gdbinit (SDR): add SDR function. It's only for VM debugging.
12622 Sun Jun 10 21:50:45 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp>
12624 * nacl/nacl_config.rb: Fixed for 32bit hosts.
12626 Sun Jun 10 20:23:14 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp>
12628 Fixes threading on NativeClient.
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.
12636 * configure.in (pthread_attr_init): New check.
12638 Sun Jun 10 21:30:11 2012 Tanaka Akira <akr@fsij.org>
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.
12646 Sun Jun 10 21:13:10 2012 Tanaka Akira <akr@fsij.org>
12648 * process.c (rb_fork): call rb_fork_internal instead of rb_fork_err.
12650 Sun Jun 10 20:55:59 2012 Tanaka Akira <akr@fsij.org>
12652 * process.c (rb_fork_ruby): call rb_fork_internal directly.
12654 Sun Jun 10 20:19:40 2012 Tanaka Akira <akr@fsij.org>
12656 * process.c (rb_fork_ruby): new function.
12657 (rb_f_fork): use rb_fork_ruby instead of rb_fork.
12658 (rb_daemon): ditto.
12660 * io.c (pipe_open): use rb_fork_ruby instead of rb_fork.
12662 * internal.h (rb_fork_ruby): declared.
12664 Sun Jun 10 18:58:16 2012 Akinori MUSHA <knu@iDaemons.org>
12666 * lib/net/http/response.rb: Remove a duplicated rdoc and leave a
12669 * lib/net/http/responses.rb: Add RFC numbers to base on.
12671 Sun Jun 10 18:31:42 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp>
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.
12677 Sun Jun 10 17:54:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12679 * gc.h (IS_STACK_DIR_UPPER): utility macro.
12681 * thread_pthread.c (get_stack): seems stack size does not include
12682 guard size on Mac OS X.
12684 * thread_pthread.c (ruby_init_stack): adjust stack size for offset of
12685 addr from the bottom.
12687 Sun Jun 10 15:49:47 2012 Tanaka Akira <akr@fsij.org>
12689 * process.c (retry_fork): call after_fork except in a child process.
12690 (rb_fork_internal): restrict after_fork call condition.
12692 Sun Jun 10 14:19:33 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
12697 Sun Jun 10 12:43:23 2012 Tanaka Akira <akr@fsij.org>
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.
12702 Sun Jun 10 12:15:18 2012 Tanaka Akira <akr@fsij.org>
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.
12708 Sun Jun 10 11:44:57 2012 Tanaka Akira <akr@fsij.org>
12710 * process.c (rb_fork_internal): call after_fork only unless
12711 chfunc_is_async_signal_safe.
12713 Sun Jun 10 11:33:01 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
12720 Sun Jun 10 10:48:15 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
12728 Sun Jun 10 10:27:34 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
12730 * NEWS: Add note about the new private key export behavior.
12732 Sun Jun 10 10:24:51 2012 Tanaka Akira <akr@fsij.org>
12734 * process.c (rb_exec_async_signal_safe): exported.
12736 * ext/pty/extconf.rb: modify $INCFLAGS to include internal.h
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.
12744 * internal.h (rb_exec_async_signal_safe): declared.
12745 (rb_fork_async_signal_safe): declared.
12747 Sun Jun 10 10:21:37 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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
12762 [ruby-core: 42281][ruby-trunk - Bug #5951]
12764 Sun Jun 10 10:14:26 2012 Tanaka Akira <akr@fsij.org>
12766 * process.c (rb_f_exec): use rb_exec_arg_prepare.
12768 Sun Jun 10 06:43:51 2012 Tanaka Akira <akr@fsij.org>
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
12778 Sun Jun 10 06:21:10 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
12780 * NEWS: document new features of Ruby OpenSSL.
12782 Sun Jun 10 03:09:41 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
12784 * ext/openssl/ossl.c: Fix error in example. Patch by David Albert.
12786 Add/extend existing documentation. Examples now also cover RSA
12787 signatures and PBKDF2.
12788 [ruby-core: 45154][ruby-trunk - Bug #6475]
12791 Sun Jun 10 01:41:45 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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.
12802 Sun Jun 10 01:37:18 2012 Tanaka Akira <akr@fsij.org>
12804 * process.c (rb_fork_internal): initialize exc.
12806 Sun Jun 10 00:19:25 2012 Tanaka Akira <akr@fsij.org>
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
12827 Sat Jun 9 23:57:03 2012 Tanaka Akira <akr@fsij.org>
12829 * process.c (rb_fork_err): rewrite a complex "if" statement.
12831 Sat Jun 9 23:44:29 2012 Tanaka Akira <akr@fsij.org>
12833 * process.c (before_exec_async_signal_safe): extracted from
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
12842 Sat Jun 9 23:36:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12844 * iseq.c (iseq_load, insn_operand_intern, rb_iseq_disasm)
12845 (rb_iseq_parameters): use rb_id2str() instead of rb_id2name() to
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().
12851 Sat Jun 9 22:27:05 2012 Tanaka Akira <akr@fsij.org>
12853 * process.c (retry_fork): rewrite a complex "for" statement by
12856 Sat Jun 9 21:50:04 2012 Tanaka Akira <akr@fsij.org>
12858 * process.c (retry_fork): extracted from rb_fork_err.
12859 (send_child_error): ditto.
12860 (recv_child_error): ditto.
12862 Sat Jun 9 17:21:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12864 * iseq.c (iseq_load): type is a symbol, and invalid as ID in common.
12866 Sat Jun 9 10:57:14 2012 Tanaka Akira <akr@fsij.org>
12868 * process.c (rb_exec_async_signal_safe): extracted from rb_exec_err.
12870 Sat Jun 9 09:31:07 2012 Tanaka Akira <akr@fsij.org>
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
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
12886 (rb_f_spawn): don't need to give default_close_others argument for
12887 rb_exec_arg_prepare.
12889 Sat Jun 9 09:00:58 2012 Tanaka Akira <akr@fsij.org>
12891 * process.c (rb_proc_exec): call before_exec() here addition to
12894 Sat Jun 9 08:30:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12896 * thread_pthread.c (ruby_init_stack): use stack info if possible.
12898 Sat Jun 9 08:21:32 2012 Eric Hodel <drbrain@segment7.net>
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
12908 Sat Jun 9 08:16:47 2012 Eric Hodel <drbrain@segment7.net>
12910 * doc/re.rdoc: Completed wording in the description of the =~ operator.
12911 [ruby-trunk - Bug #6529]
12913 Sat Jun 9 08:09:38 2012 Eric Hodel <drbrain@segment7.net>
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
12920 Sat Jun 9 07:56:03 2012 Eric Hodel <drbrain@segment7.net>
12922 * lib/benchmark.rb: Updated formatting of Benchmark documentation for
12923 consistency. [ruby-trunk - Bug #6533]
12925 Sat Jun 9 07:46:26 2012 Eric Hodel <drbrain@segment7.net>
12927 * lib/delegate.rb: Added documentation for Delegator#!. Patch by
12928 Zachary Scott. [ruby-trunk - Feature #6534]
12930 Sat Jun 9 07:39:50 2012 Eric Hodel <drbrain@segment7.net>
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
12938 Sat Jun 9 01:24:28 2012 Tanaka Akira <akr@fsij.org>
12940 * process.c (rb_exec_err): before_exec() call moved from proc_exec_cmd
12942 (rb_proc_exec): ditto.
12944 Sat Jun 9 01:11:07 2012 Tanaka Akira <akr@fsij.org>
12946 * include/ruby/intern.h (rb_exec_arg_init): declaration changed to
12949 * process.c (rb_exec_arg_init): return a value.
12951 Fri Jun 8 23:44:14 2012 Tanaka Akira <akr@fsij.org>
12953 * process.c: don't check the availability of FD_CLOEXEC. It should
12954 be available if fork() is available.
12958 Fri Jun 8 22:39:32 2012 Tanaka Akira <akr@fsij.org>
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.
12964 Fri Jun 8 19:43:33 2012 Tanaka Akira <akr@fsij.org>
12966 * process.c (rb_exec_err): after_exec() call moved from proc_exec_cmd
12968 (rb_proc_exec): ditto.
12970 Fri Jun 8 19:00:59 2012 Tanaka Akira <akr@fsij.org>
12972 * process.c (ARGV_COUNT): unused macro removed.
12973 (ARGV_SIZE): ditto.
12974 (ALLOC_ARGV): ditto.
12975 (ALLOC_ARGV_WITH_STR): ditto.
12977 Fri Jun 8 16:19:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
12983 * tool/runruby.rb (srcdir): ditto.
12985 Fri Jun 8 12:04:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
12987 * process.c (rb_fork_err): error state in the child process is prior
12988 to exceptions in proc_syswait().
12990 * process.c (rb_fork_err): determine status on errors.
12992 * ext/pty/pty.c (establishShell): reraise exception if something
12993 raised during sleep.
12995 * ext/pty/pty.c (establishShell): now needs status to protect from
12996 exceptions in rb_fork_err().
12998 Thu Jun 7 22:13:05 2012 Tanaka Akira <akr@fsij.org>
13000 * process.c (rb_fork_err): Fix the condition to use rb_protect.
13002 Thu Jun 7 20:29:12 2012 Tanaka Akira <akr@fsij.org>
13004 * include/ruby/intern.h: rb_exec_arg and related stuff moved back from
13007 Thu Jun 7 15:53:03 2012 Koichi Sasada <ko1@atdot.net>
13009 * .gdbinit: add function `trace_machine_instructions' to trace
13010 in native machine assemble.
13011 See https://bugs.ruby-lang.org/projects/ruby-master/wiki/MachineInstructionsTraceWithGDB
13014 Wed Jun 6 21:31:21 2012 Tanaka Akira <akr@fsij.org>
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.
13022 Wed Jun 6 21:18:47 2012 NAKAMURA Usaku <usa@ruby-lang.org>
13024 * process.c (try_with_sh): please take care of the macro defined by
13027 Wed Jun 6 20:45:08 2012 Tanaka Akira <akr@fsij.org>
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
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.
13037 * internal.h: add command_abspath field for rb_exec_arg.
13039 Wed Jun 6 20:08:01 2012 Tanaka Akira <akr@fsij.org>
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.
13045 Wed Jun 6 13:25:04 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
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).
13056 [Feature #4906] [ruby-core:37227]
13058 Wed Jun 6 13:18:26 2012 NAKAMURA Usaku <usa@ruby-lang.org>
13060 * win32/win32.c (rb_w32_close): of course, console handle is not socket.
13062 Wed Jun 6 12:37:43 2012 NAKAMURA Usaku <usa@ruby-lang.org>
13064 * process.c (rb_run_exec_options_err): allocate a temporary buffer for
13065 run_exec_dup2() for restoring fds on non-fork environments.
13067 Wed Jun 6 09:45:21 2012 NAKAMURA Usaku <usa@ruby-lang.org>
13069 * test/dl/test_c_{struct_entry,union_entity}.rb: sorry, typos.
13071 Wed Jun 6 05:27:54 2012 Tanaka Akira <akr@fsij.org>
13073 * process.c (rb_exec_fillarg): check use_shell field before accessing
13076 Wed Jun 6 04:58:44 2012 Tanaka Akira <akr@fsij.org>
13078 * process.c (rb_spawn_process): prog variable is not used for Unix.
13080 Wed Jun 6 00:20:37 2012 Tanaka Akira <akr@fsij.org>
13082 * internal.h (rb_exec_arg_init): change return type to void.
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.
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.
13096 Tue Jun 5 23:51:33 2012 Tanaka Akira <akr@fsij.org>
13098 * internal.h (rb_exec_arg): use union to represent command invocation
13099 with/without shell.
13101 * process.c: follow the rb_exec_arg change.
13103 * io.c (pipe_open): ditto.
13105 Tue Jun 5 22:28:46 2012 Tanaka Akira <akr@fsij.org>
13107 * internal.h: rb_exec_arg and related stuff moved from intern.h
13109 * include/ruby/intern.h (rb_proc_exec_n): removed.
13111 Tue Jun 5 21:57:22 2012 Tanaka Akira <akr@fsij.org>
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.
13118 * include/ruby/intern.h (rb_exec_arg): add dup2_tmpbuf field.
13120 Tue Jun 5 20:13:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13122 * object.c (rb_obj_init_copy): should check if trusted too.
13124 Tue Jun 5 19:59:13 2012 Tanaka Akira <akr@fsij.org>
13126 * process.c (strtok): declaration removed because it is not used.
13128 Tue Jun 5 19:33:51 2012 Tanaka Akira <akr@fsij.org>
13130 * process.c (proc_spawn): don't detect simple command line here
13131 because rb_exec_fillarg already did.
13133 Tue Jun 5 19:21:10 2012 Tanaka Akira <akr@fsij.org>
13135 * process.c (rb_exec_fillarg): bail out a loop eagerly.
13137 Tue Jun 5 19:15:14 2012 Tanaka Akira <akr@fsij.org>
13139 * process.c: add comments about async-signal-safe.
13143 Tue Jun 5 09:25:10 2012 Eric Hodel <drbrain@segment7.net>
13145 * io.c: Edited documentation for IO and File open and new and
13146 Kernel#open for consistency and clarity.
13148 Mon Jun 4 21:53:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
13154 Mon Jun 4 19:36:25 2012 Tanaka Akira <akr@fsij.org>
13156 * process.c (rb_exec_fillarg): allocate one more element before
13157 beginning in argv_str for try_with_sh.
13159 * internal.h (ARGVSTR2ARGC): adjust for the above change.
13160 (ARGVSTR2ARGV): ditto.
13162 Mon Jun 4 19:17:06 2012 Tanaka Akira <akr@fsij.org>
13164 * internal.h (ARGVSTR2ARGC): defined.
13165 (ARGVSTR2ARGV): defined.
13167 * process.c (proc_exec_v): use ARGVSTR2ARGV.
13168 (rb_spawn_process): use ARGVSTR2ARGC and ARGVSTR2ARGV.
13170 * io.c (pipe_open): use ARGVSTR2ARGV.
13172 Mon Jun 4 16:13:00 2012 Koichi Sasada <ko1@atdot.net>
13174 * vm_insnhelper.h: remove magical code "lfp[0] & 0x02".
13175 Current VM doesn't use this bit.
13177 * vm_core.h (RUBY_VM_GET_BLOCK_PTR): added.
13179 * eval.c (rb_block_given_p): use RUBY_VM_GET_BLOCK_PTR().
13181 * vm_eval.c (rb_f_block_given_p): ditto.
13183 Mon Jun 4 15:39:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13185 * win32/win32.c (constat_apply): apply VT100 functions.
13186 [ruby-core:44958] [Feature #6418]
13188 * win32/win32.c (constat_parse): parse some VT100 escape sequence.
13190 Mon Jun 4 14:06:12 2012 NAKAMURA Usaku <usa@ruby-lang.org>
13192 * process.c (rb_exec_err): should preserve errno.
13194 Mon Jun 4 13:10:11 2012 NAKAMURA Usaku <usa@ruby-lang.org>
13196 * test/dl/test_c_{struct_entry,union_entity}.rb: broken require.
13198 Mon Jun 4 12:01:21 2012 Koichi Sasada <ko1@atdot.net>
13200 * test/ruby/test_backtrace.rb: fix test.
13201 Windows path includes `:' character.
13203 Mon Jun 4 11:42:39 2012 Koichi Sasada <ko1@atdot.net>
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).
13218 * compile.c: apply above changes.
13226 Mon Jun 4 11:40:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13228 * marshal.c (r_object0): also load TYPE_USRMARSHAL, TYPE_DATA using
13231 Mon Jun 4 11:33:42 2012 NAKAMURA Usaku <usa@ruby-lang.org>
13233 * process.c (rb_run_exec_options_err): restore save_env() call for
13234 non-fork environments.
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
13239 Mon Jun 4 10:42:04 2012 NAKAMURA Usaku <usa@ruby-lang.org>
13241 * io.c (pipe_open): follow up changes in r35889.
13243 * process.c (proc_spawn_n): now uses char ** instead of VALUE *.
13245 * process.c (rb_spawn_process): prog is now VALUE of String, not char *.
13247 Mon Jun 4 06:12:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13249 * marshal.c (r_object0): remove old warning for _alloc.
13251 Mon Jun 4 04:24:06 2012 Tadayoshi Funaba <tadf@dotrb.org>
13253 * marshal.c: experimental test aborted.
13254 * complex.c: ditto.
13255 * rational.c: ditto.
13256 * include/ruby/intern.h: ditto.
13258 Mon Jun 4 00:45:18 2012 Tanaka Akira <akr@fsij.org>
13260 * process.c (rb_spawn_process): fix for Windows. not tested.
13262 Mon Jun 4 00:11:51 2012 Tanaka Akira <akr@fsij.org>
13264 * process.c (rb_proc_exec_e): don't use ISSPACE(). \f, \r and \v
13265 are not word separator in Bourne shell.
13267 Sun Jun 3 23:47:30 2012 Tanaka Akira <akr@fsij.org>
13269 * include/ruby/intern.h (rb_exec_arg): remove argc and argv fields.
13270 add use_shell, argv_str and argv_buf fields.
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.
13283 Sun Jun 3 21:53:00 2012 NARUSE, Yui <naruse@ruby-lang.org>
13285 * GPL: update text of GPLv2. [ruby-core:44488] [Bug #6328]
13286 http://www.gnu.org/licenses/gpl-2.0.txt
13288 Sun Jun 3 21:22:52 2012 Tanaka Akira <akr@fsij.org>
13290 * process.c (rb_exec_getargs): remove rb_exec_arg argument.
13292 Sun Jun 3 21:14:26 2012 Tadayoshi Funaba <tadf@dotrb.org>
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.
13300 Sun Jun 3 21:18:17 2012 Tanaka Akira <akr@fsij.org>
13302 * process.c (rb_check_argv): use rb_str_new_frozen instead of
13305 Sun Jun 3 20:10:52 2012 Tanaka Akira <akr@fsij.org>
13307 * process.c (rb_proc_exec_e): extended version of rb_proc_exec() to
13309 (rb_proc_exec): use rb_proc_exec_e().
13310 (rb_exec_err): use rb_proc_exec_e().
13312 Sun Jun 3 19:47:18 2012 NARUSE, Yui <naruse@ruby-lang.org>
13314 * thread.c (vm_living_thread_num): suppress a warning.
13316 Sun Jun 3 17:23:52 2012 Tanaka Akira <akr@fsij.org>
13318 * use execve() to preserve environment variables when exec method is
13319 failed. [ruby-core:44093] [ruby-trunk - Bug #6249]
13321 * include/ruby/intern.h (rb_exec_arg): add envp_str and envp_buf field
13322 to store envp of execve().
13324 * process.c (proc_exec_v): takes envp_str as an argument and use it
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().
13336 Sun Jun 3 16:33:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13338 * marshal.c: revert r35879 "now marshal_{load|dump} are external."
13340 * complex.c (nucomp_marshal__{dump,load}): should use rb_marshal_{dump,load}.
13342 * rational.c (nurat_marshal__{dump,load}): ditto.
13344 Sun Jun 3 14:13:58 2012 Tadayoshi Funaba <tadf@dotrb.org>
13346 * ext/date/date_core.c: checks whether the object is frozen or not.
13348 Sun Jun 3 14:00:51 2012 Tadayoshi Funaba <tadf@dotrb.org>
13350 * complex.c: wrote Complex#_dump and Complex::load. But now
13351 disabled (due to compatibility) [experimental].
13353 * rational.c: wrote Rational#_dump and Rational::load. ditto.
13355 Sun Jun 3 10:23:32 2012 Tadayoshi Funaba <tadf@dotrb.org>
13357 * complex.c (nucomp_marshal_load): [ruby-core:45394]
13358 * rational.c (nurat_marshal_load): ditto.
13360 Sun Jun 3 03:15:46 2012 NARUSE, Yui <naruse@ruby-lang.org>
13362 * regparse.c (onig_number_of_names): suppress a warning.
13364 Sun Jun 3 01:36:52 2012 Koichi Sasada <ko1@atdot.net>
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
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).
13382 * test/ruby/test_backtrace.rb: apply above changes.
13383 And apply comment from kou [ruby-dev:45686].
13385 Sun Jun 3 00:49:11 2012 Koichi Sasada <ko1@atdot.net>
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.
13391 * internal.h: ditto.
13393 * vm.c, vm_core.h, vm_dump.c, vm_eval.c: ditto.
13395 * vm_eval.c: some functions (callee, etc) moved to vm_backtrace.c.
13397 Sun Jun 3 00:20:53 2012 Koichi Sasada <ko1@atdot.net>
13399 * vm_backtrace.c: added. Separate backtrace related functions to
13402 * vm.c, common.mk: ditto.
13404 Sat Jun 2 18:09:02 2012 Akinori MUSHA <knu@iDaemons.org>
13406 * lib/ipaddr.rb: Inhibit zero-filled octets in an IPv4 address in
13407 all platforms. [ruby-dev:45671]
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.
13414 * lib/ipaddr.rb: Stop exposing IPSocket.valid*? methods which were
13415 only usable on non-IPv6-ready platforms.
13417 Sat Jun 2 16:59:00 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
13426 Sat Jun 2 07:04:48 2012 Eric Hodel <drbrain@segment7.net>
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]
13432 Sat Jun 2 06:34:15 2012 Eric Hodel <drbrain@segment7.net>
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]
13438 Fri Jun 1 09:30:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13440 * object.c (class_or_module_required): extract check for class or
13443 Fri Jun 1 08:50:47 2012 Eric Hodel <drbrain@segment7.net>
13445 * array.c: Updated Array documentation formatting. Patch by Zachary
13446 Scott. [ruby-trunk - Feature #6517]
13448 Fri Jun 1 06:57:10 2012 Eric Hodel <drbrain@segment7.net>
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
13455 Fri Jun 1 06:40:25 2012 Eric Hodel <drbrain@segment7.net>
13457 * object.c (Init_Object): Restored Kernel documentation based on
13458 Pickaxe book documentation. Patch by Zachary Scott.
13459 [ruby-trunk - Feature #6521]
13461 Fri Jun 1 06:29:42 2012 Eric Hodel <drbrain@segment7.net>
13463 * object.c (rb_equal): Let Object be a link in #=== documentation.
13464 Patch by Zachary Scott. [ruby-trunk - Feature #6518]
13466 Thu May 31 09:27:06 2012 Eric Hodel <drbrain@segment7.net>
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
13472 Thu May 31 08:40:34 2012 Eric Hodel <drbrain@segment7.net>
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
13478 Thu May 31 08:20:14 2012 Eric Hodel <drbrain@segment7.net>
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
13484 Thu May 31 07:45:43 2012 Eric Hodel <drbrain@segment7.net>
13486 * ext/dl: Added documentation. Patch by Vincent Batts.
13487 [ruby-trunk - Bug #6496]
13489 Wed May 30 16:30:00 2012 Kenta Murata <mrkn@cookpad.com>
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
13496 Wed May 30 16:20:00 2012 Kenta Murata <mrkn@cookpad.com>
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
13503 Wed May 30 10:58:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13505 * time.c (utc_offset_arg): utc offset can be precision in seconds.
13506 e.g. old Europe/Lisbon (c.f. [ruby-dev:40066])
13508 Wed May 30 06:20:29 2012 Eric Hodel <drbrain@segment7.net>
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]
13514 Tue May 29 17:28:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13516 * strftime.c (rb_strftime_with_timespec): support GNU extension triple
13517 colons modifier. [EXPERIMENTAL]
13519 * strftime.c (rb_strftime_with_timespec): check conversion with locale
13522 * strftime.c (rb_strftime_with_timespec): colons are valid only for
13523 'z' and must come just before it.
13525 Mon May 28 16:56:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13527 * lib/test/unit.rb (Test::Unit::Runner#_prepare_run): StatusLineOutput
13528 needs job_status to be :replace.
13530 Mon May 28 13:35:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13532 * common.mk (do-install-*): fix dependencies. based on the patch by
13533 nagachika at [ruby-dev:45683]. [Bug #6506]
13535 Mon May 28 12:03:04 2012 Narihiro Nakamura <authornari@gmail.com>
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
13542 Sun May 27 23:37:48 2012 Koichi Sasada <ko1@atdot.net>
13544 * benchmark/bm_vm1_lvar_init.rb: added.
13545 This benchmark measures a initialize time of non-used variable.
13547 * benchmark/bm_vm1_lvar_set.rb: added.
13548 This benchmark measures a local variables initialization time.
13550 * benchmark/bm_vm2_bigarray.rb: added.
13551 This benchmark mesures a big array literal creation time.
13553 * benchmark/bm_vm2_bighash.rb: added.
13554 This benchmark mesures a big hash literal creation time.
13556 * benchmark/bm*: change notation "i=0" to "i = 0".
13558 Sun May 27 13:33:26 2012 Koichi Sasada <ko1@atdot.net>
13560 * benchmark/driver.rb: fix to continue benchmarks when
13561 an error is occurred.
13563 Sun May 27 11:27:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13565 * lib/test/unit.rb (Test::Unit::Runner#_prepare_run): fix operator
13566 precedence, so that platform and TERM should be counted.
13568 Sun May 27 10:02:33 2012 Tadayoshi Funaba <tadf@dotrb.org>
13570 * ext/date/date_strftime.c: allows %Ok and %Ol.
13572 Sun May 27 09:29:20 2012 Tadayoshi Funaba <tadf@dotrb.org>
13574 * ext/date/date_core.c: modified doc.
13576 Sat May 26 19:04:34 2012 Tadayoshi Funaba <tadf@dotrb.org>
13578 * ext/date/date_core.c: added description.
13580 Sat May 26 18:14:57 2012 Tadayoshi Funaba <tadf@dotrb.org>
13582 * ext/date/date_strftime.c: reduced the code.
13584 Sat May 26 18:08:59 2012 Tadayoshi Funaba <tadf@dotrb.org>
13586 * time.c: modified doc.
13587 * ext/date/date_core.c: ditto.
13589 Sat May 26 17:05:45 2012 Koichi Sasada <ko1@atdot.net>
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.
13595 * vm_eval.c: ditto.
13597 Sat May 26 16:26:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13599 * file.c (realpath_rec): UNC prefix does not end with path separator,
13600 so new separator is needed after it.
13602 Sat May 26 15:29:22 2012 Koichi Sasada <ko1@atdot.net>
13604 * test/ruby/test_backtrace.rb (test_caller_lev):
13605 decrease recursion size.
13607 Sat May 26 13:50:48 2012 Koichi Sasada <ko1@atdot.net>
13609 * NEWS: add Kernel#caller's second argument.
13611 Sat May 26 13:40:29 2012 Koichi Sasada <ko1@atdot.net>
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.
13628 * test/ruby/test_backtrace.rb: add a test for above change.
13630 Sat May 26 12:18:09 2012 Koichi Sasada <ko1@atdot.net>
13632 * vm.c (frame_info_to_str): add `break'.
13634 * vm.c (backtrace_object): remove lev and n parameter.
13635 backtrace_object always returns all of backtrace information.
13637 * vm.c (rb_backtrace_to_str_ary): fix to use backtrace_object().
13638 This change improve performance of caller(lev, n).
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.
13644 Sat May 26 11:05:09 2012 Koichi Sasada <ko1@atdot.net>
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
13650 Sat May 26 09:54:53 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
13652 * ext/openssl/ossl_ssl.c: Allow disabling client-side renegotiation.
13653 * test/openssl/test_ssl.rb: Simple tests for this.
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.
13667 Fri May 25 23:38:58 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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.
13675 Fri May 25 22:19:40 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
13681 [1] http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20120507T190102Z.log.html.gz#test-all
13683 Fri May 25 19:51:36 2012 Koichi Sasada <ko1@atdot.net>
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.
13695 * test/ruby/test_backtrace.rb: add a test for above.
13697 Fri May 25 17:05:07 2012 Koichi Sasada <ko1@atdot.net>
13699 * vm.c (oldbt_init, vm_backtrace_str_ary): arg->data should
13700 be initialized before calling `backtrace_each()'.
13702 Fri May 25 16:11:27 2012 NAKAMURA Usaku <usa@ruby-lang.org>
13704 * trunk/ext/-test-/printf/printf.c: change function names because of
13705 conflict with msvcrt. fixed build error of mswin.
13707 Fri May 25 10:52:52 2012 Koichi Sasada <ko1@atdot.net>
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.
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
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).
13723 * vm_core.h, vm_dump.c, vm_eval.c: ditto.
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]
13731 * test/ruby/test_backtrace.rb: add tests for backtrace.
13733 Fri May 25 08:51:39 2012 Eric Hodel <drbrain@segment7.net>
13735 * enum.c (enum_count): Enumerable#count no longer uses #size when
13736 counting elements. Patch by Nobuhiro IMAI. [ruby-trunk - Bug #6473]
13738 Fri May 25 01:15:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13740 * sprintf.c (ruby__sfvextra): [EXPERIMENTAL] use inspect instead of
13741 to_s if plus flag is given.
13743 * vsnprintf.c (BSD_vfprintf): pass sign flag.
13745 Fri May 25 00:37:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13747 * test/rubygems/test_gem_indexer.rb (setup, teardown): save @tempdir
13748 to remove it properly. [Bug #5348]
13750 Thu May 24 23:36:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13752 * vsnprintf.c (BSD_vfprintf): [EXPERIMENTAL] object representation in
13753 rb_enc_vsprintf(). [Feature #5896]
13755 Thu May 24 15:33:01 2012 Koichi Sasada <ko1@atdot.net>
13757 * vm_method.c (rb_method_defined_by): removed.
13758 nobu pointed out that rb_method_basic_definition_p() is enough
13761 * error.c, eval_error.c: change for above.
13763 Thu May 24 14:30:13 2012 Koichi Sasada <ko1@atdot.net>
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.
13779 * error.c, eval.c, vm_eval.c: ditto.
13781 * internal.h: ditto.
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).
13787 * test/ruby/test_settracefunc.rb: fix for above change.
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.
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.
13798 Thu May 24 12:07:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13800 * io.c (io_strip_bom): check EOF. [Bug #6487][ruby-core:45203]
13802 Wed May 23 22:06:14 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
13808 Wed May 23 10:18:54 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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
13815 Wed May 23 05:35:58 2012 Eric Hodel <drbrain@segment7.net>
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.
13829 Wed May 23 05:15:11 2012 Eric Hodel <drbrain@segment7.net>
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
13835 Tue May 22 16:49:15 2012 Koichi Sasada <ko1@atdot.net>
13837 * vm_core.h: add a data type rb_location_t to store iseq location
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.
13846 * iseq.c: setup rb_location_t for each rb_iseq_t memory objects.
13848 * compile.c, proc.c, vm.c, vm_dump.c, vm_eval.c, vm_insnhelper.c,
13849 vm_method.c: support about it.
13851 Tue May 22 00:45:05 2012 Yusuke Endoh <mame@tsg.ne.jp>
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]
13860 Mon May 21 19:20:25 2012 NARUSE, Yui <naruse@ruby-lang.org>
13862 * lib/net/ftp.rb (Net::FTP#retrbinary): close only if conn is not nil
13863 because transfercmd may fail and return nil.
13865 * lib/net/ftp.rb (Net::FTP#retrlines): ditto.
13867 Mon May 21 15:10:28 2012 Akinori MUSHA <knu@iDaemons.org>
13869 * ext/syslog/syslog.c: Classify constants and macros into several
13870 sub-modules. (Syslog::Priority, Syslog::Level, Syslog::Option
13871 and Syslog::Macros)
13873 * ext/syslog/syslog.c (mSyslog_inspect): Use rb_sprintf().
13875 * ext/syslog/syslog.c (mSyslog_inspect): Make sure self is a
13876 module before calling rb_class2name().
13878 Mon May 21 12:44:11 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
13880 * .travis.yml (install): It seems tcl/tk is skipped in Travis
13881 CI. Trying to fix the situation.
13883 Mon May 21 12:11:25 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13885 * enc/depend (ENCOBJS): add dependencies.
13887 * enc/make_encmake.rb (target_encodings): extract dependencies.
13889 Mon May 21 11:26:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
13891 * lib/net/ftp.rb (Net::FTP#transfercmd): rescue shutdown.
13893 Sun May 20 23:00:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13895 * ext/extmk.rb (extmake): reopen $stdout to NULL, since setting
13896 $stdout cannot affect child processes.
13898 Sun May 20 21:36:39 2012 NARUSE, Yui <naruse@ruby-lang.org>
13900 * enc/shift_jis.c (code_to_mbclen): return
13901 ONIGERR_INVALID_CODE_POINT_VALUE if the code is invalid.
13903 * string.c (tr_next): increment character until the code
13904 is a valid character. [ruby-dev:45652] [Bug #6450]
13906 Sun May 20 12:25:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13908 * Makefile.in (LIBRUBY_SO): link EXTSOLIBS too.
13910 * ext/extmk.rb (mf.macro): use EXTSOLIBS instead of SOLIBS to get rid
13911 of discard libraries needed by default. [Bug #6462]
13913 Sat May 19 19:04:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13915 * ext/extmk.rb (command_output): ENCOBJS is needed for all linked
13916 ruby, if --disable-shared and --with-static-linked-ext.
13918 * ext/extmk.rb (command_output): dmyext is needed as DLDOBJS if no
13919 static linked extensions.
13921 * Makefile.in, common.mk (PROGRAM): no extension libraries.
13923 * common.mk (build-ext): pass macros for libruby.so.
13925 * ext/extmk.rb (command_output): link extension libraries and encoding
13926 libraries into libruby.so, not ruby executable.
13928 * ext/extmk.rb (command_output): fold long macro lines.
13930 * Makefile.in (LIBEXT): add macro.
13932 * configure.in (ENCOBJS, EXTOBJS): use LIBEXT, not hardcoded suffix.
13934 * Makefile.in (LIBRUBY_A): fix typo. re-applying r35242.
13936 Sat May 19 04:46:53 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
13938 * ext/openssl/extconf.rb: Use Logging::message instead of message.
13939 * ext/zlib/extconf.rb: ditto.
13941 Fri May 18 18:13:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13943 * lib/mkmf.rb (MakeMakefile#configuration): keep space at end of
13944 OUTFLAG and COUTFLAG. [ruby-dev:45650]
13946 Fri May 18 17:39:42 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
13948 * thread_pthread.c (rb_thread_create_timer_thread): Added error
13949 check when failing fcntl(). [Bug #6147] [ruby-dev:45364]
13951 Fri May 18 17:41:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
13953 * ext/extmk.rb (extmake): link archives only, skip script only
13954 extension libraries.
13956 Fri May 18 17:25:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
13958 * cont.c: bump up fiber machine stack size when running on 64bit
13959 arch. [Bug #6344] [ruby-dev:45554]
13961 Fri May 18 15:20:56 2012 NARUSE, Yui <naruse@ruby-lang.org>
13963 * lib/uri/generic.rb (URI::Generic.build): duplicate args before adding
13964 new items. (don't change arguments)
13966 * lib/uri/generic.rb (URI::Generic.build): use URI::Generic::COMPONENT
13967 if this method is called from URI::Generic.
13969 * lib/uri/generic.rb (URI::Generic.build2): escape only if the item is
13972 * lib/uri/generic.rb (URI::Generic.build2): use DEFAULT_PARSER because
13973 it doesn't have parser method. [Bug #6420]
13975 Fri May 18 15:54:07 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
13977 * ext/zlib/extconf.rb: Use an exception instead of bare puts.
13979 Fri May 18 15:53:05 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
13981 * ext/psych/extconf.rb: Use an exception instead of bare abort.
13983 Fri May 18 15:51:32 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
13985 * ext/fiddle/extconf.rb: Use an exception instead of bare abort.
13987 Fri May 18 15:49:35 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
13989 * ext/readline/extconf.rb: Use an exception instead of bare exit.
13991 Fri May 18 15:38:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
13993 * ext/ripper/extconf.rb: Use an exception instead of bare
13996 Fri May 18 15:23:06 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
13998 * ext/openssl/extconf.rb: Clarify a message when hit Apple
14001 Fri May 18 15:14:32 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
14008 Fri May 18 06:14:07 2012 Eric Hodel <drbrain@segment7.net>
14010 * ext/syslog/lib/syslog/logger.rb: Added Syslog::Logger which was
14011 ported from the SyslogLogger gem. [ruby-trunk - Feature #5096]
14013 * test/syslog/test_syslog_logger.rb: ditto.
14015 Fri May 18 01:28:21 2012 Aaron Patterson <aaron@tenderlovemaking.com>
14017 * ext/psych/parser.c (transcode_string): fix encoding index names.
14018 Thanks markizko for reporting.
14020 Thu May 17 23:03:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14022 * configure.in: fix function name to be checked, to initialize
14023 rb_thread_cond_t properly.
14025 * thread_pthread.c (native_cond_initialize, native_cond_destroy):
14028 Thu May 17 12:53:07 2012 Yuki Yugui Sonoda <yugui@google.com>
14030 * thread.c, thread_pthread.c: Moved pthread-specific preprocessor
14031 hacks to thread_pthread.c
14033 Thu May 17 12:18:47 2012 Yuki Yugui Sonoda <yugui@google.com>
14035 * io.c: Fix a mistake on merging the patch in the previous commit.
14037 Thu May 17 11:33:07 2012 Yuki Yugui Sonoda <yugui@google.com>
14039 Imports Ruby's port to NativeClient (a.k.a NaCl).
14040 Patch by Google Inc. [ruby-core:45073].
14042 * configure.in (RUBY_NACL): New M4 func to configure variables for
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.
14050 * thread_pthread.c: Disabled some features on NaCl.
14054 * process.c: ditto.
14060 * missing/flock.c: ditto.
14062 * nacl/pepper_main.c: An example implementation of Pepper application
14065 * nacl/example.html: An example of web page that uses the Pepper
14068 * nacl/nacl-config.rb: Detects variants of NaCl SDK.
14070 * nacl/GNUmakefile.in: Makefile template for NaCl specific build
14073 * nacl/package.rb: script for packaging a NaCl-Ruby embedding
14076 * nacl/reate_nmf.rb: Wrapper script of create_nmf.py
14078 * dln.c (dln_load): Added a hack to call on NaCl.
14080 * util.c (ruby_getcwd): Path to the current directory is not available
14083 Thu May 17 10:54:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14085 * ext/tk/extconf.rb: add -l options to $libs not $LDFLAGS,
14086 to be passed to EXTLIBS in exts.mk.
14088 * enc/encinit.c.erb: use %-lines to adjust indent in the generated file.
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.
14093 * ext/tk/extconf.rb: ditto.
14095 * ext/extmk.rb: EXTLDFLAGS also needs to be passed.
14097 Wed May 16 15:44:22 2012 Yuki Yugui Sonoda <yugui@google.com>
14099 * configure.in: Fix an unbalanced quote.
14101 Wed May 16 15:43:10 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
14106 Wed May 16 15:15:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14108 * configure.in (LD): enclose with single quotes but not double quotes
14109 not to expand command substitution.
14111 Wed May 16 14:19:51 2012 Yuki Yugui Sonoda <yugui@google.com>
14113 Supports static linking of extensions and encodings again.
14114 Fixes --with-static-linked-ext.
14116 Patch by Google Inc. [ruby-core:45073].
14118 * Makefile.in (ENCOBJS, EXTOBJS): New variables to specify static
14119 linked libraries. Also reintroduces extinit.o, introduces encinit.o
14120 introduces encinit.o
14122 * common.mk: Builds static libraries rather than shared objects if
14125 * configure.in (LD): new substitution.
14127 * enc/depend: Supports static linked libraries
14128 (libencs, libenc, libtrans): New target.
14130 * enc/encinit.c.erb: new template to generate the initialization of
14131 statically linked encodings.
14133 * enc/make_encmake.rb (--module): new flag to specify whether static
14136 * transcode_data.h (TRANS_INIT): New macro to get rid of the name
14137 collision of encoding initializers and transcoder initializers.
14139 * ext/extmk.rb: Fixes the behavior on $extstatic is true.
14141 * lib/mkmf.rb (clean-static): new target to clean up static linked
14144 * ruby.c (process_options): New initializes statically linked
14147 Wed May 16 14:30:43 2012 NAKAMURA Usaku <usa@ruby-lang.org>
14149 * io.c: fixed a merge mistake of r33878, reported by nobu via IRC.
14151 Wed May 16 06:59:41 2012 Tadayoshi Funaba <tadf@dotrb.org>
14153 * ext/date/date_strftime.c: should also be aware of flags on
14156 Wed May 16 05:11:29 2012 Aaron Patterson <aaron@tenderlovemaking.com>
14158 * ext/psych/lib/psych/visitors/to_ruby.rb: fix a bug with string
14159 subclass dumping and loading.
14161 * test/psych/test_array.rb: pertinent tests
14163 * test/psych/test_string.rb: ditto
14165 Wed May 16 01:31:21 2012 Aaron Patterson <aaron@tenderlovemaking.com>
14167 * ext/psych/lib/psych/visitors/to_ruby.rb: convert omap tagged maps to
14168 Psych::Omap objects rather than hashes. [Bug #6425]
14170 * test/psych/test_omap.rb: pertinent test.
14172 Wed May 16 01:15:45 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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.
14177 Tue May 15 23:59:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14179 * lib/test/unit.rb (Test::Unit::Options#setup_options): add --color option.
14181 * lib/test/unit.rb (Test::Unit::Runner#_prepare_run): defer color code
14182 initialization to regard --color option.
14184 Mon May 14 16:28:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
14191 Mon May 14 00:14:24 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
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]
14197 * test/ruby/test_lazy_enumerator.rb (test_take_recycle): add test for
14200 Sun May 13 23:38:31 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
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]
14207 Sun May 13 23:32:16 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
14209 * test/ruby/test_io.rb (TestIO): revert r35631. it broke the intent of
14210 test_flush_in_finalizer1. [ruby-core:43951] [Bug #6228]
14212 Sun May 13 22:46:36 2012 Tanaka Akira <akr@fsij.org>
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.
14219 Sun May 13 18:10:43 2012 Tadayoshi Funaba <tadf@dotrb.org>
14221 * ext/date/date_strftime.c: removed unused code and changed the style.
14223 Sun May 13 17:37:56 2012 Tadayoshi Funaba <tadf@dotrb.org>
14225 * ext/date/date_strftime.c: refactored.
14227 Sun May 13 06:40:12 2012 Luis Lavena <luislavena@gmail.com>
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]
14233 Sat May 12 07:00:16 2012 Eric Hodel <drbrain@segment7.net>
14235 * ext/sdbm/init.c: Added documentation. Patch by Justin Collins,
14236 cleanup by Zachary Scott. [ruby-trunk - #6410]
14238 Sat May 12 06:02:03 2012 Eric Hodel <drbrain@segment7.net>
14240 * lib/fileutils.rb (cp_r): Fixed cp_r example. Patch by TJ Koblentz
14241 from pull request #114. [ruby-trunk - Bug #6411]
14243 Sat May 12 05:23:06 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
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.
14261 Fri May 11 14:23:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14263 * parse.y (primary): begin/end block should be isolated from outside.
14264 [ruby-dev:45631][Bug #6419]
14266 Fri May 11 14:09:47 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
14272 Fri May 11 09:51:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14274 * lib/test/unit.rb (Test::Unit::Runner#failed): no unnecessary
14275 newlines if no reports to be displayed.
14277 Thu May 10 10:55:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14279 * test/minitest/test_minitest_mock.rb: Correct requiring path to
14282 * test/minitest/test_minitest_unit.rb: Correct requiring path to
14285 Thu May 10 10:18:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14287 * parse.y (lex_state_name): returns name for lex_state_e, for debug
14290 Wed May 9 16:36:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14292 * lib/mkmf.rb (MakeMakefile#pkg_config): check if libs resulted from
14293 pkg-config works actually.
14295 Wed May 9 16:01:38 2012 Shugo Maeda <shugo@ruby-lang.org>
14297 * lib/net/imap.rb (decode_utf7, encode_utf7): refactored by
14298 Nobuyoshi Nakada, to use String#encode.
14300 Wed May 9 13:26:25 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14302 * test/rubygems/test_gem_remote_fetcher.rb: skip OpenSSL dependent
14303 tests if not available.
14305 Wed May 9 08:09:38 2012 Ryan Davis <ryand-ruby@zenspider.com>
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.
14313 Wed May 9 06:28:59 2012 Eric Hodel <drbrain@segment7.net>
14315 * re.c (rb_reg_equal): Removed incorrect example for Regexp#== with
14316 "n" option. [ruby-talk - Bug #6415]
14318 Wed May 9 06:23:33 2012 Tadayoshi Funaba <tadf@dotrb.org>
14320 * ext/date/date_core.c: reverted.
14322 Wed May 9 04:31:26 2012 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
14324 * lib/rinda/ring.rb (lookup_ring_any): fix Rinda::RingFinger.primary
14325 hungs forever. [ruby-talk:395364]
14327 Tue May 8 21:09:00 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
14329 * include/ruby/win32.h (FD_SET): change function to macro.
14330 To avoid buffer overflow when smaller FD_SETSIZE is used in ext
14333 * win32/win32.c (rb_w32_fdset): this function is not used anymore.
14334 But we leave this for compatibility.
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
14340 * test/-ext-/win32/test_fd_setsize.rb(TestFdSetSize): add tests for
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.
14346 [ruby-core:44588] [Bug #6352]
14348 Tue May 8 20:44:46 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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
14353 [ruby-core:44874] [Bug #6401]
14355 * test/ruby/test_io_m17n.rb (TestIO_M17N#test_pos_with_buffer_end_cr):
14356 add a test for above.
14358 Tue May 8 13:38:17 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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
14364 Tue May 8 13:36:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14366 * configure.in (POSTLINK): default to : command to get rid of flag
14367 only command, since BSD make does not work with it.
14369 Tue May 8 13:35:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14371 * lib/test/unit.rb (MiniTest#run_test): remove exact trace and get rid
14372 of IndexError, which could caused by modified $@ sometimes.
14374 Tue May 8 11:21:27 2012 NAKAMURA Usaku <usa@ruby-lang.org>
14376 * test/minitest/metametameta.rb (MetaMetaMetaTestCase#assert_report):
14377 support drive letter on Windows. yes, the original code is metameta.
14379 Tue May 8 08:54:48 2012 Eric Hodel <drbrain@segment7.net>
14381 * lib/abbrev.rb: Fixed typo in abbrev pattern documentation. Based on
14382 patch by Mark Rushakoff. [ruby-trunk - #6346]
14384 Tue May 8 07:44:18 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
14390 Tue May 8 05:35:18 2012 Eric Hodel <drbrain@segment7.net>
14392 * object.c (Init_Object): Added reference to variable.c where
14393 public_constant and private_constant documentation lives. [#6381]
14395 Tue May 8 04:47:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
14400 * lib/test/unit.rb (MiniTest#run_test): show the running test in $0.
14402 * lib/test/unit.rb (Test::Unit::StatusLineOutput): new class to output
14405 * test/testunit/test_hideskip.rb (TestHideSkip#test_hideskip):
14406 MiniTest#puke now reports Skipped messages only if verbose mode.
14408 * test/testunit/test_sorting.rb (TestTestUnitSorting#test_sorting):
14411 * lib/test/unit.rb (Test::Unit::Runner#puke): modify only result and
14412 drop useless reports, not override entirely.
14414 * bootstraptest/runner.rb (exec_test, show_progress): show rotators
14415 and pass/fail counts.
14417 * sample/test.rb (PROGRESS): refine output.
14419 Tue May 8 02:34:26 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
14426 Mon May 7 21:19:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
14428 * ext/json: Merge JSON 1.7.1.
14429 https://github.com/flori/json/commit/e5b9a9465c1159fae533bca320d950b772bcb4ac
14431 Mon May 7 22:54:22 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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
14445 Mon May 7 20:14:15 2012 Tanaka Akira <akr@fsij.org>
14447 * lib/securerandom.rb (random_bytes): call to_int method for the
14450 Mon May 7 17:54:12 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
14457 https://github.com/seattlerb/minitest/pull/124
14459 * lib/minitest/unit.rb (refute_match): ditto.
14461 Mon May 7 13:41:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14463 * Makefile.in (PROGRAM), configure.in (POSTLINK): sign built program
14464 using RUBY_CODESIGN identity.
14466 Mon May 7 13:03:55 2012 Shugo Maeda <shugo@ruby-lang.org>
14468 * lib/net/imap.rb (body_type_attachment): parse body type
14469 "ATTACHMENT". [ruby-core:44849] [Bug #6397]
14471 Mon May 7 10:49:36 2012 NARUSE, Yui <naruse@ruby-lang.org>
14473 * ext/bigdecimal/bigdecimal.c (Init_bigdecimal): define IDs before
14474 they are used. [ruby-core:44900] [Bug #6406]
14476 Mon May 7 10:27:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14478 * ext/digest/rmd160/rmd160.c (RMD160_Update): fix for huge data.
14480 Mon May 7 10:23:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14482 * test/fileutils/fileasserts.rb: use assert_equal, assert_match, and so on.
14484 * test/ruby/enc/test_utf16.rb, test/ruby/enc/test_utf32.rb,
14485 test/ruby/test_io_m17n.rb (assert_str_equal): ditto.
14487 * test/rubygems/test_gem_remote_fetcher.rb
14488 (assert_data_from_{server,proxy}): ditto.
14490 * test/test_pstore.rb (test_thread_safe): ditto.
14492 Mon May 7 10:16:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14494 * test/rubygems/test_gem_installer.rb (TestGemInstaller#test_dir): fix
14495 argument order. expected value must come first.
14497 Mon May 7 09:14:11 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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.
14506 Sun May 6 21:34:29 2012 NARUSE, Yui <naruse@ruby-lang.org>
14508 * io.c (io_encoding_set): suppress warnings. [ruby-dev:45627]
14509 this tmp1 is not required after r35538.
14511 * addr2line.c: suppress warnings.
14513 Sun May 6 18:39:39 2012 Koichi Sasada <ko1@atdot.net>
14515 * compile.c (iseq_compile_each): remove unused variable `size'.
14517 Sun May 6 14:50:03 2012 Tanaka Akira <akr@fsij.org>
14519 * lib/securerandom.rb: show actual read length in an error message.
14521 Sat May 5 06:43:10 2012 Ryan Davis <ryand-ruby@zenspider.com>
14523 * lib/minitest/*: Imported minitest 2.12.1 (r7323)
14524 * test/minitest/*: ditto
14526 Sat May 5 01:47:33 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
14531 * test/zlib/test_zlib.rb (test_deflate): add a test for Zlib.deflate.
14533 Sat May 5 00:53:55 2012 NARUSE, Yui <naruse@ruby-lang.org>
14535 * io.c (parse_mode_enc): remove warnings 'Ignoring internal encoding'.
14536 [ruby-core:44455] [Bug #6324]
14538 * io.c (io_encoding_set): ditto.
14540 Fri May 4 07:19:02 2012 NARUSE, Yui <naruse@ruby-lang.org>
14542 * lib/rdoc/parser.rb (RDoc.binary?): fix wrong regexp.
14543 [ruby-core:44798] [Bug #6393]
14545 Fri May 4 01:33:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14547 * lib/rdoc/parser.rb (RDoc.alias_extension): a real file is irrelevant
14548 to aliasing. [ruby-core:44796][Bug #6392]
14550 * lib/rdoc/parser.rb (RDoc.zip?): non-existent file will not be a zip
14553 * lib/rdoc/parser.rb (RDoc.can_parse_by_name): accept aliased
14554 extension file names.
14556 * lib/rdoc/parser.rb (RDoc.binary?): binary read data may have
14557 incomplete multibyte sequence. [ruby-core:44798][Bug #6393]
14559 Wed May 2 23:55:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14561 * lib/test/unit.rb (Test::Unit::RequireFiles#non_options): expand
14562 real path to get rid of loading same files via symlinks.
14564 Wed May 2 23:26:04 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
14566 * cont.c (rb_fiber_m_transfer): improve sample code in Fiber#transfer
14567 documentation. emphasize the difference between transfer and resume.
14569 Wed May 2 23:21:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14571 * parse.y (parser_yylex): allow spaces between lambda arrow and
14572 parenthesis. [ruby-dev:45605][Feature #6390]
14574 Wed May 2 19:06:30 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
14576 * cont.c (rb_fiber_m_transfer): Improved Fiber documentation.
14577 patched by Anuj Dutta. [ruby-core:44540][Bug #6343]
14579 Wed May 2 13:06:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14581 * README, README.ja: reformatted using rdoc markup. based on the
14582 patches by zzak (Zachary Scott) in [Feature #6388].
14584 * README, README.ja: updated the author's mail address.
14586 Wed May 2 09:46:09 2012 Kouji Takao <kouji@takao7.net>
14588 * ext/readline/readline.c (Readline.special_prefixes=)
14589 (Readline.special_prefixes): new function. An original patch was
14590 created by nagachika. [Feature #5784]
14592 Tue May 1 22:18:45 2012 Kouji Takao <kouji@takao7.net>
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]
14598 Tue May 1 15:46:48 2012 Koichi Sasada <ko1@atdot.net>
14600 * common.mk: "$(Q)-..." doesn't work on nmake.
14602 Tue May 1 15:32:10 2012 Koichi Sasada <ko1@atdot.net>
14604 * common.mk: replace '@' prefix to '$(Q)' to control build
14607 Tue May 1 14:17:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14609 * ext/openssl/deprecation.rb (OpenSSL.check_func): check if header is
14610 available for macro compatibility.
14612 Tue May 1 10:53:54 2012 NAKAMURA Usaku <usa@ruby-lang.org>
14614 * test/ruby/test_settracefunc.rb: ignore traces from another threads
14615 because Kernel.set_trace_func affects other threads.
14617 Tue May 1 06:04:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14619 * ext/digest/sha2/sha2.c (REVERSE32): explicitly cast since unsigned
14620 long may be larger than sha2_word32.
14622 * ext/digest/sha2/sha2.c (SHA{256,512,384}_{Final,End}): should clear
14623 whole content, not pointer size.
14625 * ext/digest/*/extconf.rb: use pkg_config to use same library with
14626 openssl. [ruby-core:44755][Bug #6379]
14628 * ext/openssl/deprecation.rb: extract check for broken Apple OpenSSL.
14630 Tue May 1 05:02:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14632 * configure.in (optflags): disable unsafe optimizations.
14633 [ruby-core:44679][Bug #6370]
14635 Mon Apr 30 23:36:49 2012 Tanaka Akira <akr@fsij.org>
14637 * lib/fileutils.rb (copy_metadata): use File.lchown and File.lchmod to
14638 update meta data of symlinks.
14640 Mon Apr 30 23:05:53 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
14642 * test/ruby/test_continuation.rb (tracing_with_set_trace_func): don't
14643 call Continuation from other threads. [ruby-dev:45596] [Bug #6382]
14645 Mon Apr 30 20:10:04 2012 Tanaka Akira <akr@fsij.org>
14647 * ext/zlib/extconf.rb: detect z_crc_t type which will be defined
14650 * ext/zlib/zlib.c (rb_zlib_crc_table): use z_crc_t if available.
14652 Mon Apr 30 09:02:15 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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
14658 Mon Apr 30 04:43:53 2012 Aaron Patterson <aaron@tenderlovemaking.com>
14660 * ext/psych/lib/psych/json/yaml_events.rb: implicit styles should not
14661 be changeable for JSON events.
14663 Sun Apr 29 06:12:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14665 * parse.y (assoc, parser_yylex): add syntax to splat keyword hash.
14666 [ruby-core:44591][Feature #6353]
14668 * compile.c (compile_array_): generate keyword splat insns.
14670 * vm.c (m_core_hash_merge_kwd): merge keyword hash into intermediate
14671 hash. leftward argument is prior currently.
14673 Fri Apr 27 12:34:23 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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)
14679 Fri Apr 27 10:58:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14681 * test/readline/test_readline.rb (setup): avoid affected by user's
14682 inputrc file. [ruby-dev:45584][Bug #6357]
14684 Fri Apr 27 01:45:05 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
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-master/wiki/R35480_ExtendedMemo
14716 Fri Apr 27 07:15:07 2012 Tanaka Akira <akr@fsij.org>
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
14723 Thu Apr 26 12:28:06 2012 Tanaka Akira <akr@fsij.org>
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.
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.
14739 * ext/socket/unixsocket.c (rsock_init_unixsock): support the longest
14740 path in sockaddr_un.
14742 * ext/socket/rubysocket.h (rsock_unixpath_str): declared.
14743 (rsock_unixpath): removed.
14745 * test/socket/test_unix.rb: comment out test_nul because abstract unix
14746 sockets may contain NULs.
14748 Thu Apr 26 01:32:33 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
14750 * test/optparse/test_summary.rb (test_summary_containing_space): add
14751 test for r35467. OptionParser#to_a shouldn't split banner by spaces.
14753 Wed Apr 25 23:02:46 2012 Tanaka Akira <akr@fsij.org>
14755 * ext/socket/raddrinfo.c (init_unix_addrinfo): refine error message
14757 (addrinfo_mload): show more information on "too long AF_UNIX path"
14759 (addrinfo_unix_path): ditto for "too short AF_UNIX address" and
14760 "too long AF_UNIX address" error.
14762 Wed Apr 25 05:46:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14764 * lib/optparse.rb (OptionParser#to_a): split for each lines.
14765 [ruby-dev:45568][Bug #6348]
14767 Tue Apr 24 21:57:53 2012 Tanaka Akira <akr@fsij.org>
14769 * ext/socket/raddrinfo.c (init_unix_addrinfo): show actual path length
14770 when it is too long for Unix socket.
14772 * ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
14774 * ext/socket/socket.c (sock_s_pack_sockaddr_un): ditto.
14776 Tue Apr 24 21:43:58 2012 Yusuke Endoh <mame@tsg.ne.jp>
14778 * lib/net/smtp.rb (check_continue): raise an error with an explanatory
14779 message. [ruby-core:35854] [Feature #4598]
14781 Tue Apr 24 21:11:31 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
14787 Tue Apr 24 19:59:31 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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>.
14793 * enc/trans/japanese_euc.trans: ditto.
14795 * enc/trans/JIS/JISX0213-[12]%UCS@{BMP,SIP}.src: JIS X 0213:2004 ->
14796 Unicode mapping table from NetBSD.
14798 * enc/trans/JIS/UCS@{BMP,SIP}%JISX0213-[12].src: Unicode -> JIS X
14799 0213:2004 mapping table from NetBSD.
14801 * tool/transcode-tblgen.rb: added SIP support.
14803 * test/ruby/test_transcode.rb: tests of above changes.
14805 Tue Apr 24 18:12:13 2012 Koichi Sasada <ko1@atdot.net>
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]
14813 * test/ruby/test_syntax.rb: add a test for above.
14815 Tue Apr 24 17:03:51 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
14821 Tue Apr 24 16:04:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14823 * parse.y (parser_yylex): EXPR_BEG by keywords is a start point of
14824 commands. [ruby-dev:45563][Bug #6347]
14826 * parse.y (superclass): ditto for superclass.
14828 * parse.y (parser_parse_string, parser_here_document): ditto for
14829 string interpolation.
14831 * parse.y (parser_yylex): ditto for singleton class.
14833 Tue Apr 24 15:51:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14835 * lib/optparse.rb (OptionParser#to_a): should split by end-of-line
14836 [ruby-dev:45568][Bug #6348]
14838 * lib/optparse.rb (OptionParser#to_a): String#to_a is no longer
14839 defined. [ruby-dev:45568][Bug #6348]
14841 Tue Apr 24 12:46:50 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
14843 * hash.c, object.c, struct.c, lib/ostruct.rb: add to_h methods.
14846 Tue Apr 24 10:54:34 2012 NAKAMURA Usaku <usa@ruby-lang.org>
14848 * test/drb/drbtest.rb ({DRbCore,DRbAry}#teardown): cannot pass SIGTERM
14849 to another process on Windows, so use SIGINT instead.
14851 Tue Apr 24 00:25:39 2012 Yusuke Endoh <mame@tsg.ne.jp>
14853 * thread.c (rb_check_deadlock): refine an error message of deadlock
14854 detection. [ruby-core:44336] [Bug #6288]
14856 Tue Apr 24 00:14:42 2012 Yusuke Endoh <mame@tsg.ne.jp>
14858 * parse.y (primary): remove wrong "fixpos" that caused incorrect
14859 source_location of blocks. [ruby-core:42232] [Bug #5930]
14861 * test/ruby/test_proc.rb: add a test for above.
14863 Mon Apr 23 22:56:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14865 * ext/iconv: deprecated. [Feature #6322]
14867 Mon Apr 23 22:07:00 2012 Tanaka Akira <akr@fsij.org>
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.
14873 Mon Apr 23 20:35:49 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
14880 * test/ruby/test_system.rb (TestSystem#test_system): test for it.
14882 Mon Apr 23 20:11:02 2012 Tanaka Akira <akr@fsij.org>
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]
14890 Mon Apr 23 19:54:33 2012 Tanaka Akira <akr@fsij.org>
14892 * test/drb/drbtest.rb: rescue Errno::ESRCH for Process.kill.
14893 reported by NARUSE, Yui. [ruby-dev:45551]
14895 Mon Apr 23 14:16:45 2012 NARUSE, Yui <naruse@ruby-lang.org>
14897 * .gdbinit (rb_ps_vm): follow st_table's packing change.
14899 Mon Apr 23 10:43:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14901 * configure.in: disable rubygems not to load rbconfig.rb before
14902 fake.rb. [ruby-core:44492][Bug #6329]
14904 Sun Apr 22 20:26:06 2012 Tanaka Akira <akr@fsij.org>
14906 * lib/drb/extservm.rb (DRb::ExtServManager): don't use /bin/sh to
14907 invoke service subprocess. mark detach threads for clean up.
14909 * test/drb/drbtest.rb: clean up the service subprocess in teardown.
14911 * test/drb/test_drb.rb: set @service_name for teardown.
14913 * test/drb/test_drbunix.rb: ditto.
14915 * test/drb/test_drbssl.rb: ditto.
14919 Sun Apr 22 07:51:29 2012 Tanaka Akira <akr@fsij.org>
14921 * lib/drb/ssl.rb: close accepted TCP socket if SSL accept is failed.
14924 Sat Apr 21 14:36:49 2012 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
14926 * test/rinda/test_rinda.rb: fix sticks on some tests problem
14929 Fri Apr 20 12:24:04 2012 Eric Hodel <drbrain@segment7.net>
14931 * lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem: Removed to avoid
14932 conflict with ca-bundle.pem
14933 * lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem:
14935 * lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem:
14938 Fri Apr 20 08:07:06 2012 Eric Hodel <drbrain@segment7.net>
14940 * lib/rubygems: Update to RubyGems 1.8.23 which contains security
14943 RubyGems now disallows redirection from HTTPS to HTTP.
14945 RubyGems now verifies SSL connections.
14947 See https://github.com/rubygems/rubygems/blob/1.8/History.txt for
14948 changes since 1.8.22.
14949 * test/rubygems: ditto.
14951 Thu Apr 19 16:33:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
14957 Thu Apr 19 09:39:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14959 * ext/-test-/win32/dln/extconf.rb: need import library for ordinal
14960 entry even on mingw. [ruby-core:44441][Bug #6320]
14962 Thu Apr 19 09:35:15 2012 Eric Hodel <drbrain@segment7.net>
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.
14969 Thu Apr 19 08:59:02 2012 Eric Hodel <drbrain@segment7.net>
14971 * ext/curses/curses.c (window_nodelay): Fixed call-seq of nodelay to
14974 Improved description window.nodelay=.
14976 Thu Apr 19 08:47:54 2012 Eric Hodel <drbrain@segment7.net>
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.
14992 Wed Apr 18 22:58:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
14994 * configure.in (DOT, DOXYGEN): use AC_CHECK_PROGS instead of
14995 AC_CHECK_PROG which needs the third argument. [ruby-core:44433]
14998 * configure.in (PKG_CONFIG): fix condition to skip older version
14999 of pkg-config. continue in backticks does not affect outside.
15001 Wed Apr 18 13:59:40 2012 NAKAMURA Usaku <usa@ruby-lang.org>
15003 * win32/file.c (INVALID_FILE_ATTRIBUTES): define for old SDK.
15005 Wed Apr 18 10:22:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15007 * strftime.c (rb_strftime_with_timespec): add an interim digit for
15008 the timezone offset which is less than an hour.
15010 Wed Apr 18 09:58:29 2012 Eric Hodel <drbrain@segment7.net>
15012 * lib/rubygems/version.rb: Fixed init_with warning by calling into
15013 yaml_initialize (for syck) from psych's init_with
15015 Wed Apr 18 09:03:43 2012 Eric Hodel <drbrain@segment7.net>
15017 * lib/rubygems: Update to RubyGems 1.8.22 plus r33517 and r35337 which
15018 were ported to the rubygems git repository.
15020 See https://github.com/rubygems/rubygems/blob/1.8/History.txt for
15021 changes since 1.8.11.
15023 * test/rubygems: ditto.
15025 Tue Apr 17 22:18:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15027 * strftime.c (rb_strftime_with_timespec): fix padding of time zone
15028 offset. [ruby-dev:43287][Bug #4458]
15030 Tue Apr 17 13:11:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
15036 Mon Apr 16 18:22:14 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
15042 Mon Apr 16 16:22:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15044 * win32/win32.c (gmtime_r, localtime_r): POSIX compliant reentrant
15047 * configure.in (RUBY_MSVCRT_VERSION): define on mingw too.
15049 * win32/Makefile.sub (config.h): prefix RT_VER with RUBY and make
15050 more descriptive to get rid of potential conflict.
15052 Mon Apr 16 15:19:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15054 * configure.in (NO_RUBY_VENDOR_LIB): fix missing comma.
15056 Mon Apr 16 12:17:12 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
15058 * lib/matrix.rb (hermitian?): Bug fix, patch by George Koehler
15059 [Bug #6290] [rubyspec:4b9573d7613]
15061 Mon Apr 16 09:42:50 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
15067 Sat Apr 14 12:55:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15069 * configure.in (UNREACHABLE): gcc 4.4 eliminates unreachable code
15072 * win32/win32.c (child_result): dropped colon.
15074 Sat Apr 14 10:45:18 2012 NARUSE, Yui <naruse@ruby-lang.org>
15076 * lib/webrick/server.rb (WEBrick::GenericServer#start):
15077 partially revert r35315.
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]
15083 Sat Apr 14 09:35:45 2012 Eric Hodel <drbrain@segment7.net>
15085 * variable.c (trace_ev): Removed "not reached" comment as this line is
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.
15123 Sat Apr 14 08:38:20 2012 Eric Hodel <drbrain@segment7.net>
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.
15167 Fri Apr 13 17:12:09 2012 NARUSE, Yui <naruse@ruby-lang.org>
15169 * hash.c (inspect_i): keep string's coderange.
15171 Fri Apr 13 15:26:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15173 * hash.c (rb_hash_aset, rb_hash_update, rb_hash_update_by): use
15174 st_update() to reduce evaluation of hash values.
15176 Fri Apr 13 15:17:36 2012 NARUSE, Yui <naruse@ruby-lang.org>
15178 * lib/webrick/server.rb (WEBrick::GenericServer#stop): fix r35303;
15179 this method is to deny new connections, not shutdown yet.
15181 * lib/webrick/server.rb (WEBrick::GenericServer#start):
15182 re-raise exception only when the exception is Interrupt (^C).
15184 Thu Apr 12 19:51:45 2012 Tadayoshi Funaba <tadf@dotrb.org>
15186 * ext/date/date_core.c: added some notes.
15188 Wed Apr 11 17:16:49 2012 Koichi Sasada <ko1@atdot.net>
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]
15199 * compile.c (iseq_compile_each, setup_args): use modified
15202 * vm.c (m_core_hash_from_ary, m_core_hash_merge_ary,
15203 m_core_hash_merge_ptr): added for above change.
15205 * id.c (Init_id), parse.y: add core method ids.
15207 * bootstraptest/test_literal.rb: add simple tests.
15209 * bootstraptest/test_eval.rb: remove rescue clause to catch
15210 SystemStackError exception.
15212 * test/ruby/test_literal.rb: add tests to check no stack overflow.
15214 Thu Apr 12 07:10:37 2012 Eric Hodel <drbrain@segment7.net>
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
15220 Thu Apr 12 06:15:44 2012 Eric Hodel <drbrain@segment7.net>
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
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
15234 * test/net/ftp/test_ftp.rb: ditto
15236 Thu Apr 12 05:27:01 2012 Eric Hodel <drbrain@segment7.net>
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.
15247 Thu Apr 12 03:50:44 2012 NARUSE, Yui <naruse@ruby-lang.org>
15249 * lib/test/unit.rb (Test::Unit:Runner::Worker#_run_suites):
15250 call GC.start before running the test suites.
15252 Wed Apr 11 22:31:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15254 * parse.y (rb_check_id_cstr): new function to check if ID is
15255 registered with NUL-terminated C string.
15257 * sprintf.c (rb_str_format): avoid inadvertent symbol creation.
15259 Wed Apr 11 20:28:36 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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)
15264 [ruby-core:44189][Bug #6271]
15266 * test/ruby/test_io_m17n.rb (TestIO_M17N#test_read_crlf_and_eof):
15269 Wed Apr 11 07:38:33 2012 Eric Hodel <drbrain@segment7.net>
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
15275 Wed Apr 11 07:33:13 2012 Eric Hodel <drbrain@segment7.net>
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.
15283 Wed Apr 11 06:11:10 2012 Eric Hodel <drbrain@segment7.net>
15285 * string.c (rb_str_tr): Documented use of \ to escape characters.
15286 [ruby-trunk - Bug #6161]
15287 * string.c (rb_str_count): ditto
15289 Wed Apr 11 05:14:51 2012 Eric Hodel <drbrain@segment7.net>
15291 * lib/abbrev.rb: Clarified that Abbrev.abbrev returns a Hash instead
15292 of an Array. Patch by Andrei Bocan. [ruby-trunk - Bug #6107]
15294 Wed Apr 11 03:02:24 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
15296 * ext/ripper/lib/ripper/sexp.rb: fix spelling. patched by
15297 Jonathan Hinkle via https://github.com/ruby/ruby/pull/116
15299 Tue Apr 10 19:07:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
15305 Tue Apr 10 18:19:32 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
15311 Tue Apr 10 16:53:21 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15313 * thread_pthread.c: add prototype declarations for older Mac OS X.
15314 [ruby-core:43376][Bug #6170]
15316 Tue Apr 10 15:35:21 2012 Koichi Sasada <ko1@atdot.net>
15318 * compile.c (iseq_set_sequence): show a hint if there are duplicated
15319 "when" clauses. [ruby-core:41502] [ruby-trunk - Feature #5716]
15321 Tue Apr 10 09:57:00 2012 Eric Hodel <drbrain@segment7.net>
15323 * string.c (rb_str_split_m): Documented behavior of split on the empty
15324 string. [ruby-trunk - Feature #3575]
15326 Tue Apr 10 09:48:31 2012 Eric Hodel <drbrain@segment7.net>
15328 * ext/zlib/zlib.c (rb_deflate_s_deflate): Fixed ruby example replacing
15329 NO_FLUSH with FINISH. [ruby-trunk - Bug #6273]
15331 Mon Apr 9 23:10:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15333 * win32/win32.c (isUNCRoot, winnt_stat): support long UNC.
15334 [ruby-core:30623][Feature #3399]
15336 Mon Apr 9 15:16:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15338 * parse.y (string_content, parser_yylex): count brace nesting to
15339 dispatch embexpr_end. [ruby-core:43775][Bug #6211]
15341 Mon Apr 9 13:06:58 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
15343 * hash.c (rb_hash_set_default_proc): Accept nil, patch by Run Paint
15346 * test/ruby/test_hash.rb: test for above.
15348 Mon Apr 9 08:01:15 2012 Tadayoshi Funaba <tadf@dotrb.org>
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.
15353 Mon Apr 9 06:58:01 2012 Tadayoshi Funaba <tadf@dotrb.org>
15355 * complex.c (nucomp_expt): [ruby-core:44170].
15357 Mon Apr 9 02:52:03 2012 NARUSE, Yui <naruse@ruby-lang.org>
15359 * complex.c (nucomp_expt): the result of f_complex_new2 may be a fixnum
15360 with mathn. [ruby-core:44170] [Bug #6267]
15362 Sun Apr 8 22:46:01 2012 NARUSE, Yui <naruse@ruby-lang.org>
15364 * ext/json/generator/generator.c (generate_json_bignum):
15366 http://fb.rubyci.org/~chkbuild/ruby-trunk/log/20120407T210301Z.diff.html.gz
15368 Sun Apr 8 07:26:40 2012 NARUSE, Yui <naruse@ruby-lang.org>
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".
15374 Sun Apr 8 06:51:57 2012 NARUSE, Yui <naruse@ruby-lang.org>
15376 * io.c (io_unread): cast as long the value for extra_max.
15377 [ruby-core:44137] [Bug #6257]
15379 Sun Apr 8 06:46:48 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
15386 Sat Apr 7 22:35:36 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
15388 * include/ruby/win32.h (rb_w32_aspawn_flags): add the declaration of
15391 * process.c (enum): add EXEC_OPTION_PGROUP and move the position
15392 above for the usage in proc_spawn_n().
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.
15399 * process.c (rb_exec_arg_addopt): ditto.
15401 * process.c (rb_spawn_process): ditto.
15403 * process.c (documentation for rb_f_spawn): add documentation for new
15404 option `new_pgroup` of spawn.
15406 * test/ruby/test_process.rb (TestProcess#test_execopts_new_pgroup):
15407 add tests for option `new_pgroup`.
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.
15414 * win32/win32.c (CreateChild): add an argument to pass
15415 dwCreationFlags of CreateProcessW().
15417 * win32/win32.c (rb_w32_spawn): ditto.
15419 * win32/win32.c (rb_w32_aspawn_flags): add new function to pass
15422 * win32/win32.c (rb_w32_aspawn): refactor to move the content to
15423 rb_w32_aspawn_flags().
15424 [ruby-core:43245][Bug #6131]
15426 Sat Apr 7 22:32:00 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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().
15433 * win32/win32.c (CreateChild): revert the usage of
15434 CREATE_NEW_PROCESS_GROUP flag for compatibility.
15435 [ruby-core:43245][Bug #6131]
15437 Sat Apr 7 10:28:40 2012 Aaron Patterson <aaron@tenderlovemaking.com>
15439 * ext/psych/lib/psych.rb: bumping up psych version to match release.
15440 * ext/psych/psych.gemspec: ditto
15442 Sat Apr 7 02:07:00 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
15448 Fri Apr 6 16:24:24 2012 Martin Duerst <duerst@it.aoyama.ac.jp>
15450 * struct.c (documentation for rb_struct_members_m):
15451 fix 'array of strings' to 'array of symbols'
15452 [ruby-core:44152][Bug #6264]
15454 Fri Apr 6 14:27:04 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
15456 * Makefile.in ($(LIBRUBY_A)): fix typo.
15458 Thu Apr 5 13:26:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15460 * missing/alloca.c (xmalloc, xfree): use ruby version, not
15461 depending on RUBY_LIB_PREFIX. [ruby-dev:45492][Bug #6255]
15463 Wed Apr 4 13:06:39 2012 NARUSE, Yui <naruse@ruby-lang.org>
15465 * lib/ftp/ftp.rb (Net::FTP#close): restore original read_timeout.
15467 Wed Apr 4 10:33:31 2012 NARUSE, Yui <naruse@ruby-lang.org>
15469 * lib/ftp/ftp.rb (Net::FTP#close): ignore exceptions from shutdown and
15472 Wed Apr 4 01:48:35 2012 NARUSE, Yui <naruse@ruby-lang.org>
15474 * lib/ftp/ftp.rb (Net::FTP#close): close socket more gracefully.
15476 * lib/ftp/ftp.rb (Net::BufferedSocket#shutdown): added.
15478 * test/net/ftp/test_ftp.rb (FTPTest#create_ftp_server): wait socket
15479 with shutdown and read.
15481 Tue Apr 3 19:00:52 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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
15488 Tue Apr 3 18:33:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15490 * process.c (setreuid, setregid): suppress warnings.
15491 [ruby-core:43374][Bug #6169]
15493 Tue Apr 3 10:18:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15495 * enumerator.c (inspect_enumerator): suppress uninitialized
15496 instance variable warnings. [ruby-dev:45449][Bug #6214]
15497 patched by no6v (Nobuhiro IMAI).
15499 Mon Apr 2 13:25:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15501 * lib/optparse/ac.rb: autoconf-like options.
15503 Mon Apr 2 10:34:00 2012 eregon <eregontp@gmail.com>
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]
15509 Mon Apr 2 03:35:25 2012 NARUSE, Yui <naruse@ruby-lang.org>
15511 * lib/webrick/server.rb (WEBrick::GenericServer): close socket only if
15512 the socket is not closed yet.
15514 Sun Apr 1 23:03:18 2012 NARUSE, Yui <naruse@ruby-lang.org>
15516 * lib/net/ftp.rb (Net::BufferedSocket): should delegate send() to @io
15517 for Net::FTP#abort and Net::FTP#status.
15519 Sun Apr 1 00:41:56 2012 Shugo Maeda <shugo@ruby-lang.org>
15521 * lib/net/ftp.rb: fixed the domain name in examples.
15523 Sat Mar 31 21:39:45 2012 NARUSE, Yui <naruse@ruby-lang.org>
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".
15528 Sat Mar 31 14:22:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15530 * hash.c (hash_default_value): extract from rb_hash_aref(), to be
15531 shared with rb_hash_shift(), so that overriding Hash#default
15534 Sat Mar 31 14:16:02 2012 Sokolov Yura (funny-falcon) <funny.falcon@gmail.com>
15536 * hash.c: do not allocate st_table when it is not necessary.
15538 Sat Mar 31 13:42:39 2012 Shugo Maeda <shugo@ruby-lang.org>
15540 * lib/net/ftp.rb (read_timeout=, open_timeout=): supported timeout.
15542 Sat Mar 31 13:20:40 2012 Sokolov Yura (funny-falcon) <funny.falcon@gmail.com>
15544 * hash.c: remove unnecessary checks for Qundef in hash iterations.
15545 since hash use st_foreach_check for iterations, such checks are
15548 Sat Mar 31 12:05:01 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
15550 * ext/openssl/ossl_x509cert.c: Fix doc typo.
15552 Sat Mar 31 10:13:24 2012 Sokolov Yura (funny-falcon) <funny.falcon@gmail.com>
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.
15558 * st.c (st_delete): use real_entries in st_delete for packed tables
15560 Sat Mar 31 07:53:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15562 * st.c (st_foreach_check): remove the entry by replacing with never
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.
15569 * hash.c: Qundef cannot be passed from st_foreach_check().
15571 * hash.c, marshal.c, object.c, variable.c: fix callback argument types
15574 Thu Mar 29 23:50:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15576 * st.c (st_update): pass pointer to key to the callback function.
15578 Thu Mar 29 16:36:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15580 * st.c (st_update): add existing parameter to the callback function.
15582 Thu Mar 29 16:35:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15584 * lib/test/unit.rb (terminal_width, del_status_line, put_status):
15585 extract as methods.
15587 Thu Mar 29 10:20:18 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
15594 Thu Mar 29 10:16:05 2012 NAKAMURA Usaku <usa@ruby-lang.org>
15596 * thread_win32.c (TIME_QUANTUM_USEC): 10ms(= old setting) [experimental]
15599 Thu Mar 29 10:12:12 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
15607 Thu Mar 29 09:26:17 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
15615 Thu Mar 29 08:25:35 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
15617 * NEWS: add note about unified behavior of encoding nil values in
15618 instances of OpenSSL::ASN1::ASN1Data.
15620 Thu Mar 29 07:45:36 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
15629 Wed Mar 28 16:39:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15631 * process.c (obj2uid, obj2gid): allow strings as input user/group id.
15632 [ruby-core:40923][Feature #5610]
15634 Wed Mar 28 15:06:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
15640 Wed Mar 28 08:44:24 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
15646 Tue Mar 27 23:44:11 2012 NAKAMURA Usaku <usa@ruby-lang.org>
15648 * io.c (io_unread): fixed memory leak. report by nagachika via IRC.
15650 Tue Mar 27 22:44:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15652 * configure.in (verconf.h): separate load path specific stuff from
15655 Tue Mar 27 22:43:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15657 * win32/Makefile.sub: fix config.h path to include.
15659 Tue Mar 27 17:08:08 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
15661 * win32/win32.c (check_if_dir): fix memory leak.
15663 Tue Mar 27 13:13:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15665 * string.c (str_new_empty): should copy also the encoding as an
15666 empty substring. [ruby-dev:45441][Bug #6206]
15668 Mon Mar 26 23:43:04 2012 Shugo Maeda <shugo@ruby-lang.org>
15670 * lib/net/ftp.rb (parse227, parse228, parse229): don't use $~.
15672 Mon Mar 26 23:34:40 2012 Shugo Maeda <shugo@ruby-lang.org>
15674 * lib/net/ftp.rb (parse227, parse228, parse229): don't use local
15675 variables defined by named capture for other Ruby implementations
15678 Mon Mar 26 23:19:03 2012 Shugo Maeda <shugo@ruby-lang.org>
15680 * lib/net/ftp.rb (parse_pasv_port): refactored.
15682 Mon Mar 26 19:49:49 2012 Shugo Maeda <shugo@ruby-lang.org>
15684 * test/net/ftp/test_ftp.rb: add the test, which was forgotten in the
15687 Mon Mar 26 19:37:27 2012 Shugo Maeda <shugo@ruby-lang.org>
15689 * lib/net/ftp.rb (parse227, parse228, parse229): refactored.
15691 Mon Mar 26 11:46:23 2012 Shugo Maeda <shugo@ruby-lang.org>
15693 * enumerator.c (inspect_enumerator): show method arguments of
15694 lazy enumerators correctly.
15696 Mon Mar 26 13:51:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
15701 * ruby.c (load_file_internal): ditto.
15703 Mon Mar 26 11:46:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15705 * ruby.c (load_file_internal): bail out if the script is a directory.
15706 [Feature #2408][ruby-core:26925]
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.
15711 Sun Mar 25 18:13:14 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
15717 Sun Mar 25 00:46:06 2012 Shugo Maeda <shugo@ruby-lang.org>
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.
15723 * enumerator (RETURN_LAZY): don't set the instance variable "receiver".
15725 Sat Mar 24 23:59:00 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
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.
15735 Sat Mar 24 22:22:18 2012 Sambasiva Rao Suda <sambasivarao@gmail.org>
15737 * time.c (time_init_1): Time.new will accept seconds as string or
15738 int. [ruby-core:43569][Bug #6193]
15740 Fri Mar 23 15:12:12 2012 Martin Duerst <duerst@it.aoyama.ac.jp>
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]
15747 Fri Mar 23 13:19:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
15752 * string.c (rb_must_asciicompat): check if ASCII compatible.
15754 Thu Mar 22 23:14:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
15760 Thu Mar 22 22:30:44 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
15762 * io.c (static int io_fflush): add the definition.
15763 Use it in set_binary_mode_with_seek_cur().
15765 * io.c (set_binary_mode_with_seek_cur): refactoring to split the
15766 content into io_unread(). Fix the possibility of buffer overflow.
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
15772 * test/ruby/test_io_m17n.rb
15773 (TestIO_M17N#test_pos_dont_move_cursor_position): add a test for
15775 [ruby-core:43497] [Bug #6179]
15777 Thu Mar 22 19:55:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15779 * win32/win32.c (rb_w32_fstat, rb_w32_fstati64): convert FILETIME
15780 to time_t directly, not to be affected by TZ unnecessarily.
15782 * win32/win32.c (unixtime_to_filetime): convert time_t to FILETIME
15785 Thu Mar 22 13:43:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15787 * ext/openssl/ossl_pkey_rsa.c (rsa_generate): fix argument type.
15790 Thu Mar 22 11:14:10 2012 NAKAMURA Usaku <usa@ruby-lang.org>
15792 * test/ruby/test_io.rb (TestIO#test_pos_with_getc): updated.
15793 see [ruby-core:43550]
15795 Wed Mar 21 17:57:57 2012 NARUSE, Yui <naruse@ruby-lang.org>
15797 * regcomp.c: Merge Onigmo 3d855b30d574536d3ae600260208c6624ae4791c.
15798 [Bug#6143] [Bug#6144] [Bug#6145]
15800 Wed Mar 21 17:01:55 2012 NAKAMURA Usaku <usa@ruby-lang.org>
15802 * test/ruby/test_io.rb (TestIO#test_pos_with_getc): added.
15803 see [Bug #6179][ruby-core:43518]
15805 Mon Mar 19 17:18:51 2012 Shugo Maeda <shugo@ruby-lang.org>
15807 * enumerator.c (lazy_flat_map_func): convert the block value to
15808 Array if it doesn't respond to each. [ruby-core:43334]
15811 Mon Mar 19 16:34:14 2012 Shugo Maeda <shugo@ruby-lang.org>
15813 * enum.c (zip_i): variadic argument needs explicit cast on the
15814 platforms where VALUE is longer than int.
15816 Mon Mar 19 15:36:41 2012 Shugo Maeda <shugo@ruby-lang.org>
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
15823 Mon Mar 19 15:20:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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
15829 Mon Mar 19 15:05:54 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
15831 * test/test_pty.rb: same as r29280, skip tests when PTY allocation
15832 failed (that's not our fault).
15834 Sun Mar 18 23:21:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15836 * gc.c (aligned_free): fix condition for free. memalign() and
15837 posix_memalign() are not defined together normally.
15839 Sun Mar 18 18:31:45 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp>
15841 * gc.c (aligned_malloc, aligned_free): added fallback implementations
15842 for platforms like OSX Leopard.
15844 Sun Mar 18 17:17:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15846 * bignum.c (rb_big_pow): estimate result bit size more precisely.
15847 [ruby-core:30735][Feature #3429]
15849 Sun Mar 18 17:17:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15851 * gc.c (free_method_entry_i): method entry may be in
15852 unlinked_method_entry_list. [ruby-core:43383][Bug #6171]
15854 Sun Mar 18 15:27:31 2012 Tanaka Akira <akr@fsij.org>
15856 * compile.c: typo fix by Run Paint Run Run.
15857 [ruby-core:28368] [Bug #2824]
15859 Sun Mar 18 10:01:02 2012 Kazuki Tsujimoto <kazuki@callcc.net>
15861 * lib/profiler.rb: support calling singleton methods of
15862 an instance of BasicObject.
15864 Sat Mar 17 06:56:58 2012 Eric Hodel <drbrain@segment7.net>
15866 * object.c: Fix indentation of Class#inherited example.
15868 Sat Mar 17 01:46:05 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
15870 * string.c (trnext): fix bug with string ending with '\\'.
15871 [ruby-dev:45374][Bug #6160]
15873 * test/ruby/test_string.rb (TestString#test_delete): test for
15876 Fri Mar 16 20:06:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15878 * string.c (trnext): should advance char-wise.
15879 [ruby-core:43335][Bug #6156]
15881 Fri Mar 16 17:42:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15883 * parse.y (block_append_gen): fix unreachable warning line number.
15884 should warn at the code, not jump.
15886 Fri Mar 16 17:33:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15888 * enum.c (enum_take): allocate buffer array before iteration, as well
15891 * enum.c (enum_first): remove duplication.
15893 Fri Mar 16 14:43:18 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp>
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.
15898 Fri Mar 16 14:37:57 2012 Shugo Maeda <shugo@ruby-lang.org>
15900 * vm_eval.c (rb_mod_module_eval): fix the documentation of
15901 class_eval to mention class variable lookup. [ruby-core:40649]
15904 Fri Mar 16 14:27:11 2012 Shugo Maeda <shugo@ruby-lang.org>
15906 * vm_eval.c (rb_mod_module_eval): fix the documentation of
15907 class_eval to mention constant lookup. [ruby-core:41718]
15910 Fri Mar 16 14:10:45 2012 Shugo Maeda <shugo@ruby-lang.org>
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]
15916 Fri Mar 16 13:50:12 2012 Shugo Maeda <shugo@ruby-lang.org>
15918 * lib/net/imap.rb (rfc822_text): ignore [] after RFC822.
15919 [ruby-core:40945] [Bug #5620]
15921 Fri Mar 16 12:00:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
15927 * iseq.c (rb_iseq_first_lineno): constified.
15929 Fri Mar 16 11:20:07 2012 Shugo Maeda <shugo@ruby-lang.org>
15931 * enumerator.c (lazy_take): don't enumerate an extra value.
15932 [ruby-dev:45370] [Bug #6152]
15934 Fri Mar 16 06:30:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15936 * enumerator.c (lazy_zip_func): variadic argument needs explicit cast
15937 on the platforms where VALUE is longer than int.
15939 * enumerator.c (lazy_init_iterator): no need to check overflow twice.
15941 Fri Mar 16 05:47:09 2012 Eric Hodel <drbrain@segment7.net>
15943 * enumerator.c (lazy_init_iterator): Fix type error (int vs long).
15945 Thu Mar 15 23:13:36 2012 Shugo Maeda <shugo@ruby-lang.org>
15947 * enum.c (rb_enum_values_pack): rename from enum_values_pack, and
15950 * enumerator.c (lazy_init_iterator, lazy_init_yielder,
15951 lazy_select_func, lazy_reject_func, lazy_grep_func): handle
15952 multiple values correctly.
15954 * enumerator.c (lazy_grep): change the behavior when a block is
15955 given, to be consistent with Enumerable#grep.
15957 Thu Mar 15 19:12:31 2012 Shugo Maeda <shugo@ruby-lang.org>
15959 * enumerator.c (lazy_zip): rescue StopIteration returned by
15962 Thu Mar 15 18:19:53 2012 Shugo Maeda <shugo@ruby-lang.org>
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}.
15968 Thu Mar 15 17:45:27 2012 Shugo Maeda <shugo@ruby-lang.org>
15970 * enumerator.c (InitVM_Enumerator): renamed Enumerable::Lazy to
15973 Thu Mar 15 16:37:38 2012 Shugo Maeda <shugo@ruby-lang.org>
15975 * enumerator.c (enumerable_lazy): added cycle to the documentation.
15977 Thu Mar 15 15:37:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15979 * parse.y (parser_yylex): fix warning line number.
15981 Thu Mar 15 15:19:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15983 * enumerator.c (lazy_cycle): check argument number overflow before
15984 creating temporary array.
15986 Thu Mar 15 15:04:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
15988 * util.c (ruby_strtod): no need to check same digit for hexdigit
15989 twice. [ruby-dev:45363][Bug #6146]
15991 * parse.y (sym_check_asciionly): check ascii compatibility before
15992 scanning for code range.
15994 * parse.y (intern_str): set to us-ascii if ascii only.
15995 [ruby-dev:45363][Bug #6146]
15997 * file.c (ruby_enc_find_basename): allow NULL as alllen.
15998 [ruby-dev:45363][Bug #6146]
16000 Thu Mar 15 14:49:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16002 * string.c (rb_str_conv_enc_opts): default to original encoding.
16004 Thu Mar 15 13:47:17 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
16009 Thu Mar 15 12:44:50 2012 NAKAMURA Usaku <usa@ruby-lang.org>
16011 * win32/win32.c, include/ruby/win32.h (rb_w32_ugetenv): new API to
16012 accept and to return UTF-8 strings.
16014 * win32/win32.c (rb_w32_getenv): follow above change.
16016 * win32/win32.c (rb_w32_get_environ): returns UTF-8 environment area.
16018 * hash.c (env_str_new, rb_f_getenv, env_fetch): follow above changes.
16019 [Bug #5570] [ruby-core:40737]
16021 Thu Mar 15 10:57:27 2012 Shugo Maeda <shugo@ruby-lang.org>
16023 * enumerator.c (lazy_cycle): add Enumerable::Lazy#cycle.
16025 Thu Mar 15 10:31:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16027 * test/ruby/test_arity.rb (TestArity#err_mess): use assert_raise.
16029 Thu Mar 15 07:03:52 2012 Eric Hodel <drbrain@segment7.net>
16031 * vm_eval.c (check_funcall): Raise ArgumentError if respond_to?
16032 requires more than three arguments. [Bug #6000]
16034 * test/ruby/test_object.rb (class TestObject): Test for respond_to?
16035 requiring more than three arguments.
16037 Thu Mar 15 06:08:06 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
16039 * include/ruby/intern.h: Add rb_check_arity, rb_error_arity [#6085]
16041 * array.c: Use rb_check_arity / rb_error_arity
16045 * enumerator.c: ditto
16069 * transcode.c: ditto
16073 * vm_insnhelper.c: ditto & implementation of rb_error_arity
16075 * test/ruby/test_arity.rb: tests for above
16077 Thu Mar 15 06:08:05 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
16079 * vm_insnhelper.c: improve number of arguments error in case of
16080 optional parameters (issue #6085)
16082 * include/ruby/intern.h: define UNLIMITED_ARGUMENTS
16084 * test/ruby/test_arity.rb: test for above
16086 Thu Mar 15 00:58:04 2012 Shugo Maeda <shugo@ruby-lang.org>
16088 * enumerator.c (enumerable_lazy): fix the documentation of
16091 Wed Mar 14 22:01:06 2012 Shugo Maeda <shugo@ruby-lang.org>
16093 * enumerator.c (lazy_init_iterator): break when Qundef is returned
16094 to make obj.drop(3).take(2) work properly.
16096 * enumerator.c (lazy_take_while): add Enumerable::Lazy#take_while.
16098 * enumerator.c (lazy_drop): add Enumerable::Lazy#drop.
16100 * enumerator.c (lazy_drop_while): add Enumerable::Lazy#drop_while.
16102 * enumerator.c (InitVM_Enumerator): add Enumerable::Lazy#force as an
16105 Wed Mar 14 19:28:40 2012 Shugo Maeda <shugo@ruby-lang.org>
16107 * enumerator.c (lazy_take): add Enumerable::Lazy#take.
16109 Wed Mar 14 18:40:36 2012 Shugo Maeda <shugo@ruby-lang.org>
16111 * enumerator.c: use long for array indices.
16113 Wed Mar 14 18:25:18 2012 Shugo Maeda <shugo@ruby-lang.org>
16115 * enumerator.c: moved the comment of StopIteration.
16117 Wed Mar 14 17:55:29 2012 NAKAMURA Usaku <usa@ruby-lang.org>
16119 * numeric.c (flodivmod): must go through the same pass if HAVE_FMOD or
16120 not. this is a bugfix of r35013.
16122 Wed Mar 14 16:41:55 2012 NAKAMURA Usaku <usa@ruby-lang.org>
16124 * test/test_tmpdir.rb (TestTmpdir#test_world_writable): skip on Windows.
16126 Wed Mar 14 15:09:23 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
16128 * numeric.c: fix flodivmod for cornercases [Bug #6044]
16131 * insns.def (opt_mod): use ruby_float_mod
16133 * internal.h: declare ruby_float_mod
16135 * test/ruby/test_float.rb: tests for above
16137 * test/ruby/envutil.rb: create helper assert_is_minus_zero
16139 Wed Mar 14 10:44:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16141 * enumerator.c (lazy_grep_func): should use === instead of =~, as
16142 well as Enumerable#grep
16144 Wed Mar 14 08:15:54 2012 Shugo Maeda <shugo@ruby-lang.org>
16146 * enumerator.c (lazy_flat_map_func): use each for non-Array objects.
16148 Wed Mar 14 08:06:35 2012 Shugo Maeda <shugo@ruby-lang.org>
16150 * enumerator.c (lazy_zip): add Enumerable::Lazy#zip.
16152 * enumerator.c (lazy_lazy): just returns self.
16154 Wed Mar 14 07:48:36 2012 Tadayoshi Funaba <tadf@dotrb.org>
16156 * ext/date/date_core.c (datetime_s_now): [ruby-core:43256].
16158 Tue Mar 13 22:00:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16160 * compile.c (iseq_set_arguments): keyword rest arg without keyword args.
16162 * node.c (dump_node): dump kw_rest_arg too.
16164 * parse.y (block_param, f_arg): more kwrest patterns.
16165 [ruby-core:42455][Bug #5989]
16167 * parse.y (new_args_gen): no extra kw_rest_arg if no keyword rest arg.
16169 Tue Mar 13 15:17:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16171 * parse.y (block_param, f_args): add rules for the case arguments
16172 begin with kwrest. [ruby-core:42455][Bug #5989]
16174 Tue Mar 13 12:37:53 2012 NARUSE, Yui <naruse@ruby-lang.org>
16176 * io.c (io_encoding_set): always warn if external encoding and internal
16177 encoding are identical. [ruby-core:40727] [Bug #5568]
16179 Tue Mar 13 12:37:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16181 * gc.c: add ObjectSpace::WeakMap. [ruby-dev:44565][Bug #5350]
16183 * lib/weakref.rb: use WeakMap instead of _id2ref.
16185 Tue Mar 13 10:59:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16187 * tool/rbinstall.rb (prepare): skip if basedir is not defined.
16188 [ruby-core:39135][Bug #5238]
16190 * tool/rbinstall.rb (CONFIG.[]): check for mandatory
16193 Tue Mar 13 00:09:18 2012 Shugo Maeda <shugo@ruby-lang.org>
16195 * enumerator.c (enumerable_lazy): added documentation.
16197 Mon Mar 12 20:19:25 2012 Tanaka Akira <akr@fsij.org>
16199 * lib/tmpdir.rb (Dir::tmpdir): test the current directory suitable for
16200 temporary directory.
16202 Mon Mar 12 20:08:16 2012 Tanaka Akira <akr@fsij.org>
16204 * lib/fileutils.rb (fu_have_symlink?): specify TypeError for rescue
16207 Mon Mar 12 19:23:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16209 * encoding.c (rb_find_encoding): new function find encoding from
16210 arbitrary object as a pointer to rb_encoding, and return NULL if
16213 * io.c (io_encoding_set): just warn unsupported encodings, but not
16214 exception. [ruby-core:40726] [Bug #5567]
16216 Mon Mar 12 19:03:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16218 * vm_method.c (Init_eval_method): respond_to? and
16219 respond_to_missing? are public.
16221 Mon Mar 12 14:56:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
16227 Mon Mar 12 12:44:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16229 * vm_method.c (Init_eval_method): copy basic methods to Exception.
16230 [ruby-core:40287][Bug #5473]
16232 Mon Mar 12 10:13:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16234 * eval_jump.c (rb_exec_end_proc): remember the latest exit status.
16235 [ruby-core:43173][Bug #5218]
16237 Mon Mar 12 07:33:12 2012 Tanaka Akira <akr@fsij.org>
16239 * lib/tmpdir.rb: update document for changing
16240 FileUtils.remove_entry_secure to FileUtils.remove_entry.
16242 * NEWS: add incompatibility note for lib/tmpdir.rb.
16244 Mon Mar 12 07:19:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16246 * lib/tmpdir.rb (Dir.tmpdir): should not use world-writable but
16247 non-sticky directory.
16249 * lib/tmpdir.rb (Dir.mktmpdir): check the parent directory.
16251 Mon Mar 12 07:04:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16253 * random.c (Init_Random): removed rb_Random_DEFAULT and register as
16254 mark-object instead of global variable.
16256 Mon Mar 12 07:03:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16258 * random.c (random_s_rand): ensure default PRNG is re-initialized
16259 after fork. patched by Eric Wong. [ruby-core:41209][Bug #5661]
16261 Sun Mar 11 23:57:29 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
16268 Sun Mar 11 22:32:43 2012 NARUSE, Yui <naruse@ruby-lang.org>
16270 * ext/json: Merge 164a75c8bd2007d32c4d7665d53140d8fc126dcd.
16271 [ruby-core:41917] [Bug #5846]
16273 Sun Mar 11 17:10:04 2012 Shota Fukumori <sorah@tubusu.net>
16275 * lib/test/unit.rb: Put error message into STDERR if failed to launch
16276 worker (job) process. [ruby-dev:44802] [Bug #5577]
16278 * lib/test/unit/parallel.rb: If failed to increment_io, exit with code
16279 2. [ruby-dev:44802] [Bug #5577]
16281 Sun Mar 11 15:46:45 2012 Shota Fukumori <sorah@tubusu.net>
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]
16286 Sat Mar 10 23:52:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16288 * st.c: pack tables also generic keys. patched by Sokolov Yura at
16289 https://github.com/ruby/ruby/pull/84
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
16295 * st.c: fix packed num_entries on delete_safe. patched by Sokolov
16296 Yura at https://github.com/ruby/ruby/pull/84
16298 Fri Mar 9 14:29:32 2012 Shugo Maeda <shugo@ruby-lang.org>
16300 * enumerator.c (lazy_flat_map): add Enumerable::Lazy#flat_map.
16302 Fri Mar 9 06:29:22 2012 Aaron Patterson <aaron@tenderlovemaking.com>
16304 * ext/psych/lib/psych.rb (load, parse): stop parsing or loading after
16305 the first document has been parsed.
16307 * test/psych/test_stream.rb: pertinent tests.
16309 Fri Mar 9 06:17:05 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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]
16315 * ext/psych/lib/psych/handlers/document_stream.rb: add a handler that
16316 yields documents as they are parsed
16318 * test/psych/test_stream.rb: corresponding tests.
16320 Fri Mar 9 00:35:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16322 * enumerator.c (lazy_initialize, enumerable_lazy): no additional
16325 Fri Mar 9 00:30:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
16331 Fri Mar 9 00:25:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16333 * enumerator.c (enumerator_each, generator_each): pass arguments to
16334 the block with yielder.
16336 Fri Mar 9 00:25:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16338 * array.c (rb_ary_cat): new function to concat objects into array.
16340 Thu Mar 8 16:44:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16342 * .gdbinit (rb_numtable_entry): update for recent refactoring of
16345 Wed Mar 7 22:41:50 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
16347 * lib/xmlrpc/client.rb (module XMLRPC): fix typo.
16349 * test/xmlrpc/test_client.rb (test_async_call): add test for
16350 XMLRPC::Client#call_async to check above fix.
16352 Wed Mar 7 16:30:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16354 * error.c (rb_load_fail): should honor encoding.
16356 * load.c (load_failed): ditto.
16358 Wed Mar 7 12:26:25 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16360 * error.c (rb_load_fail): use path as a string, not char*.
16362 * internal.h: (rb_load_fail): moved from ruby/intern.h.
16364 * ruby.c (load_file_internal): fname cannot be NULL.
16366 Wed Mar 7 08:32:43 2012 Aaron Patterson <aaron@tenderlovemaking.com>
16368 * error.c (rb_loaderror_with_path): Adding the missing file as an
16369 instance variable to the LoadError exception.
16372 * load.c: call rb_loaderror_with_path so that the missing path is
16373 added to the exception.
16375 * ruby.c: call rb_loaderror rather than raising our own LoadError
16378 * include/ruby/intern.h: add declaration for rb_loaderror_with_path.
16380 * test/ruby/test_require.rb: add supporting test for LoadError#path
16383 Wed Mar 7 08:28:00 2012 Aaron Patterson <aaron@tenderlovemaking.com>
16385 * lib/xmlrpc/parser.rb: support i8 types. Thanks Stas Kelvich!
16386 [ruby-core:29246] [Feature #3090]
16388 * test/xmlrpc/test_client.rb: supporting test
16390 Wed Mar 7 07:43:29 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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]
16396 * test/xmlrpc/test_client.rb: supporting test
16398 Wed Mar 7 07:39:28 2012 Aaron Patterson <aaron@tenderlovemaking.com>
16400 * test/xmlrpc/test_client.rb: adding a test for performing an XMLRPC
16402 * test/xmlrpc/data/blog.xml: supporting XML document for the response.
16404 Tue Mar 6 16:24:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16406 * parse.y (parser_tokadd_string): escape simple regexp meta
16407 character terminators.
16409 Tue Mar 6 10:11:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16411 * ext/io/console/console.c (set_rawmode): clear ECHOE and ECHOK
16414 * ext/io/console/console.c (echo_p): ignore ECHOE and ECHOK bits.
16415 [ruby-dev:45309] [Bug #6116]
16417 * ext/io/console/console.c (console_raw): fix rdoc.
16419 * ext/io/console/console.c (console_set_echo): mentioned about
16420 platform dependency.
16422 Tue Mar 6 07:18:10 2012 Aaron Patterson <aaron@tenderlovemaking.com>
16424 * lib/xmlrpc/client.rb: switch net/http post2 calls to modern
16425 `request_post` methods.
16427 Tue Mar 6 02:31:20 2012 Aaron Patterson <aaron@tenderlovemaking.com>
16429 * ext/psych/lib/psych/core_ext.rb: only extend Kernel if IRB is loaded
16430 in order to stop method pollution.
16432 Tue Mar 6 01:34:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
16438 Tue Mar 6 01:24:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16440 * parse.y (block_command, block_call): simplified rules.
16442 Mon Mar 5 18:28:35 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
16444 * test/ruby/test_regexp.rb (TestRegexp#test_source): fix typo.
16445 * test/ruby/test_regexp.rb (TestRegexp#test_equal): ditto.
16447 Mon Mar 5 17:11:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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
16456 Mon Mar 5 16:50:22 2012 NAKAMURA Usaku <usa@ruby-lang.org>
16458 * test/ruby/test_sleep.rb (TestSleep#test_sleep_5sec): syntax error.
16460 * test/ruby/test_sleep.rb (TestSleep#test_sleep_5sec): call uname
16461 only on linux because it's a workaround for linux only.
16463 Mon Mar 5 12:44:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16465 * st.c (unpack_entries): chain entries directly. based on a patch
16466 by Sokolov Yura <funny.falcon AT gmail.com>.
16468 * st.c (unpack_entries): use union instead of casted pointer.
16469 patched by Sokolov Yura <funny.falcon AT gmail.com>.
16471 * st.c: use PACKED_ENT and FIND_ENTRY. patched by Sokolov
16472 Yura <funny.falcon AT gmail.com>.
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>.
16478 Mon Mar 5 11:51:48 2012 NARUSE, Yui <naruse@ruby-lang.org>
16480 * ext/bigdecimal/lib/bigdecimal/math.rb: remove description about
16481 BigMath#log. patched by Sho Hashimoto [ruby-dev:45307] [Bug #6112]
16483 * string.c (str_byteslice): fix typo.
16485 Sun Mar 4 23:21:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16487 * parse.y (parser_tokadd_string): regexp engine doesn't need
16488 terminators to be escaped. [ruby-core:40364][Bug #5484]
16490 Sat Mar 3 22:51:46 2012 Tanaka Akira <akr@fsij.org>
16492 * process.c (rb_run_exec_options_err): chdir at last to interpret
16493 relative pathnames from the current directory of the parent process.
16495 Sat Mar 3 12:20:44 2012 Tadayoshi Funaba <tadf@dotrb.org>
16497 * ext/date/date_strftime.c: reassigned some variables.
16499 Sat Mar 3 12:12:16 2012 Tadayoshi Funaba <tadf@dotrb.org>
16501 * ext/date/date_{parse,strptime}.c: [ruby-dev:45303].
16503 Sat Mar 3 10:09:21 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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.
16508 Sat Mar 3 08:42:25 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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.
16514 Sat Mar 3 08:20:10 2012 Aaron Patterson <aaron@tenderlovemaking.com>
16516 * lib/xmlrpc/client.rb (new2): raises an ArgumentError on bad
16518 * test/xmlrpc/test_client.rb: tests for bad uris
16520 Sat Mar 3 08:08:11 2012 Aaron Patterson <aaron@tenderlovemaking.com>
16522 * lib/xmlrpc/client.rb (new2): fix custom port specification when an
16524 * test/xmlrpc/test_client.rb: tests for XMLRPC::Client.new2
16526 Sat Mar 3 08:03:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16528 * ext/syck/rubyext.c (mktime_do): use ISDIGIT().
16529 [ruby-core:43060] [Bug #6108]
16531 * ext/syck/token.c (sycklex_yaml_utf8): cast as unsigned char.
16532 [ruby-core:43060] [Bug #6108]
16534 Sat Mar 3 06:57:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16536 * configure.in (ruby_pc): make configurable. [Bug #6051]
16538 Fri Mar 2 17:49:03 2012 Hiroshi Nakamura <nahi@ruby-lang.org>
16540 * .travis.yml (branches): Enable TravisCI for ruby_1_9_3.
16542 Fri Mar 2 17:13:33 2012 Hiroshi Nakamura <nahi@ruby-lang.org>
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
16548 Fri Mar 2 16:37:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16550 * file.c (file_expand_path): use wcscasecmp().
16552 Fri Mar 2 16:36:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16554 * thread_pthread.c (native_cond_timeout): cast explicitly to suppress
16557 Fri Mar 2 16:35:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16559 * io.c (pipe_open): cmd is no longer used if fork is available.
16561 Thu Mar 1 16:13:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16563 * internal.h (rb_file_const, rb_file_load_ok): moved functions for
16566 Thu Mar 1 15:40:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16568 * win32/makedirs.bat: new command to make intermediate
16569 directories, and not to report any errors if the directory
16572 * win32/Makefile.sub (MAKEDIRS): enable command extensions.
16574 Thu Mar 1 01:25:43 2012 NARUSE, Yui <naruse@ruby-lang.org>
16576 * regparse.c (is_onechar_cclass): optimize character class
16577 Merge Onigmo 27278c12e6674043cc8affca6507e20e119a86ee.
16579 * regparse.c (is_onechar_cclass): [bug] unexpected match occurs when a
16580 char class contains no char
16582 * enc/unicode.c (init_case_fold_table): define the sizes of case
16583 folding tables in casefold.h
16585 Wed Feb 29 16:11:34 2012 NAKAMURA Usaku <usa@ruby-lang.org>
16587 * win32/Makefile.sub (MAKEDIRS): use mkdir of cmd.exe instead of ruby.
16588 [Bug #6103] [ruby-core:43012]
16590 * win32/README.win32: added a notice about command extension of cmd.exe.
16592 Wed Feb 29 15:39:39 2012 NAKAMURA Usaku <usa@ruby-lang.org>
16594 * test/ruby/test_io.rb (TestIO#test_readpartial_locktmp): skip on
16595 windows because of the platform restriction.
16597 Wed Feb 29 15:38:50 2012 NAKAMURA Usaku <usa@ruby-lang.org>
16599 * test/ruby/memory_status.rb (Memory): syntax error.
16601 Wed Feb 29 13:06:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16603 * test/ruby/memory_status.rb: use /proc/self/status if it is in
16604 the expected format.
16606 Wed Feb 29 06:14:51 2012 Tadayoshi Funaba <tadf@dotrb.org>
16608 * ext/date/date_core.c: reverted r34825.
16610 Tue Feb 28 23:20:01 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
16612 * Makefile.in (PLATFORM_DIR): add a variable for `win32` directory.
16613 * Makefile.in (clean-platform): add new target.
16614 It cleans `win32` directory.
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`
16623 * common.mk (win32/file.$(OBJEXT)): add new target for win32/file.c.
16625 * configure.in: move win32.o into `win32` directory and add
16626 win32/file.o to MISSING.
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.
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.
16638 * win32/Makefile.sub (PLATFORM_DIR): add a variable for `win32`
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`
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
16651 Patch created with Luis Lavena.
16652 [ruby-core:42480] [Feature #5999]
16654 Tue Feb 28 20:27:25 2012 Tadayoshi Funaba <tadf@dotrb.org>
16656 * ext/date/date_core.c: [ruby-core:42998]
16658 Tue Feb 28 18:47:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16660 * io.c (io_binwrite, rb_io_syswrite): use shared frozen source
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]
16667 Tue Feb 28 17:16:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
16673 Tue Feb 28 14:15:29 2012 Eric Hodel <drbrain@segment7.net>
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
16682 Tue Feb 28 13:51:12 2012 Eric Hodel <drbrain@segment7.net>
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
16689 Tue Feb 28 11:44:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16691 * configure.in (debugflags): check if -ggdb is accepted.
16692 [ruby-core:42875][Bug #6080]
16694 Tue Feb 28 10:28:51 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
16700 Mon Feb 27 23:46:09 2012 Yukihiro Matsumoto <matz@ruby-lang.org>
16702 * parse.y (opt_bv_decl): allow newline at the end. [ruby-dev:45292]
16704 Mon Feb 27 20:43:05 2012 NAKAMURA Usaku <usa@ruby-lang.org>
16706 * io.c (rb_io_set_pos): add rdoc about textmode.
16708 * test/ruby/test_io.rb (TestIO#test_setpos): use binmode.
16710 Mon Feb 27 17:00:15 2012 Akinori MUSHA <knu@iDaemons.org>
16712 * string.c (rb_str_crypt): Update rdoc and state that this
16713 function is system dependent. Reviewed by nobu, thanks to
16716 Mon Feb 27 17:03:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
16722 Mon Feb 27 10:54:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16724 * lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): replace the
16725 target flags if the given flag is accepted.
16727 Mon Feb 27 10:53:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16729 * test/rubygems/test_gem_specification.rb (test_self_from_yaml_syck_default_key_bug):
16730 ignore the test for too old versions.
16732 Mon Feb 27 10:53:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16734 * lib/test/unit.rb (Test::Unit::Runner#puke): skips with no
16735 messages should be trivial.
16737 Mon Feb 27 10:50:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16739 * io.c, process.c, time.c, ext: use rb_sys_fail_str instead of
16742 Mon Feb 27 10:48:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16744 * ext/openssl/extconf.rb: suppress useless deprecation warnings
16745 from OpenSSL added by Apple.
16747 Sun Feb 26 23:29:49 2012 NARUSE, Yui <naruse@ruby-lang.org>
16749 * regparse.c (add_code_range_to_buf0): wrong condition of duplicated
16752 Sun Feb 26 11:26:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
16758 * insns.def (send): no special deal for FCALL. self should be put
16761 Sun Feb 26 05:35:43 2012 NARUSE, Yui <naruse@ruby-lang.org>
16763 * error.c (report_bug): use buf and snprintf to avoid consuming stack.
16764 [ruby-dev:45272] [Bug #6058]
16766 Sat Feb 25 17:41:19 2012 Tanaka Akira <akr@fsij.org>
16768 * ext/dbm/extconf.rb (headers): try ambiguous headers at last.
16770 Sat Feb 25 17:07:15 2012 NARUSE, Yui <naruse@ruby-lang.org>
16772 * lib/fileutils.rb: use chomp(?/) instead of sub to optimize and avoid
16773 to regexping invalid string.
16775 Sat Feb 25 16:18:24 2012 NARUSE, Yui <naruse@ruby-lang.org>
16777 * complex.c (nucomp_marshal_load): raise error on invalid data.
16778 reported by John Firebaugh [ruby-core:42860] [Bug #6076]
16780 Sat Feb 25 14:46:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16782 * ext/dl/dl.c (Init_dl): support intrinsic types, size_t, ptrdiff_t
16783 and intptr_t. [ruby-core:42460][Feature #5992]
16785 * ext/fiddle/fiddle.c (Init_fiddle): ditto.
16787 * ext/dl/lib/dl/cparser.rb (DL::CParser#parse_ctype): ditto.
16789 Sat Feb 25 11:08:28 2012 Tanaka Akira <akr@fsij.org>
16791 * ext/curses/curses.c (Init_curses): use rb_define_const once for
16794 * ext/dbm/dbm.c (Init_dbm): ditto for DBM::VERSION.
16796 Sat Feb 25 10:34:22 2012 Tanaka Akira <akr@fsij.org>
16798 * ext/curses/curses.c (Init_curses): make Curses::VERSION
16799 understandable without context.
16801 * ext/dbm/dbm.c (Init_dbm): ditto for DBM::VERSION.
16803 Sat Feb 25 07:53:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16805 * parse.y (parser_tokadd_string): insert a backslash only if
16806 quoted by single quotes. [ruby-dev:45281] [Bug #6069]
16808 Sat Feb 25 07:53:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16810 * dir.c (dir_inspect), io.c (rb_io_inspect): keep encoding of path.
16813 Sat Feb 25 07:53:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16815 * dir.c (dir_initialize): keep path in original encoding.
16817 * error.c (syserr_initialize): prefer the encoding of message over
16818 locale. [ruby-dev:45279][Bug #6071]
16820 Sat Feb 25 06:55:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16822 * file.c (utime_internal): fix a variable missed to replace.
16823 [ruby-core:42864] [Bug #6077]
16825 Fri Feb 24 18:21:55 2012 Hiroshi Nakamura <nahi@ruby-lang.org>
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
16832 Fri Feb 24 17:56:39 2012 URABE Shyouhei <shyouhei@ruby-lang.org>
16834 * test/ruby/test_literal.rb (TestRubyLiteral#test_special_const):
16835 test for https://bugs.php.net/bug.php?id=61095
16837 Fri Feb 24 16:48:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16839 * dir.c, file.c, io.c (rb_sys_fail_path): use rb_sys_fail_str.
16841 * error.c: new functions to deal exceptions with string instances.
16843 * dir.c, file.c, io.c: use rb_sys_fail_path.
16845 Fri Feb 24 15:49:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16847 * configure.in (__builtin_unreachable): check for clang.
16850 * include/ruby/ruby.h (UNREACHABLE): fallback definition.
16852 Fri Feb 24 13:54:33 2012 Aaron Patterson <aaron@tenderlovemaking.com>
16854 * ext/psych/parser.c: prevent a memory leak by protecting calls to
16856 * test/psych/test_parser.rb: test to demonstrate leak.
16858 Fri Feb 24 12:07:34 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
16860 * lib/net/http.rb: Fix documentation. Patched from Florian Mhun
16861 via http://github.com/ruby/ruby/pull/96
16863 Fri Feb 24 11:48:07 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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
16869 Fri Feb 24 10:08:33 2012 Eric Hodel <drbrain@segment7.net>
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
16876 Fri Feb 24 09:05:40 2012 Eric Hodel <drbrain@segment7.net>
16878 * complex.c (Init_Complex): Document Complex::I. Patch by Sylvain
16879 Daubert. [Feature #5623]
16881 Fri Feb 24 08:52:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16883 * parse.y (parser_tokadd_string, parser_yylex): insert a backslash
16884 if the next character is non-ascii. [ruby-dev:45278] [Bug #6069]
16886 Fri Feb 24 08:13:20 2012 Eric Hodel <drbrain@segment7.net>
16888 * lib/profiler.rb: Add Profiler documentation by Gonzalo Rodriguez.
16891 Fri Feb 24 08:08:38 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
16899 Fri Feb 24 08:02:52 2012 Eric Hodel <drbrain@segment7.net>
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.
16904 Fri Feb 24 07:36:11 2012 Eric Hodel <drbrain@segment7.net>
16906 * object.c (rb_obj_eql): Improve equality documentation by adding an
16907 example of equal? vs == and recommending eql? be aliased to == when
16910 Fri Feb 24 07:21:15 2012 Eric Hodel <drbrain@segment7.net>
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]
16916 Thu Feb 23 23:01:21 2012 Tanaka Akira <akr@fsij.org>
16918 * ext/dbm/extconf.rb: unused macro removed.
16920 Thu Feb 23 22:26:53 2012 Tanaka Akira <akr@fsij.org>
16922 * test/test_curses.rb: new file.
16924 Thu Feb 23 19:57:56 2012 Tanaka Akira <akr@fsij.org>
16926 * ext/curses/rain.rb: trap SIGHUP, SIGINT, SIGQUIT and SIGTERM only.
16928 Thu Feb 23 19:56:48 2012 Tanaka Akira <akr@fsij.org>
16930 * signal.c (sig_trap): show signal name on error.
16932 Thu Feb 23 12:21:48 2012 Tanaka Akira <akr@fsij.org>
16934 * ext/dbm/extconf.rb: use DBM_SUFFIX only to detect header of
16937 Thu Feb 23 10:00:18 2012 Eric Hodel <drbrain@segment7.net>
16939 * io.c (rb_io_f_sync): Fix double-negative typo. [ruby-trunk - #5837]
16941 Thu Feb 23 09:57:21 2012 Eric Hodel <drbrain@segment7.net>
16943 * load.c (rb_f_require): Add note to require for scope of items in the
16944 loaded file. [ruby-trunk - #5910]
16946 Thu Feb 23 03:58:08 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
16948 * lib/ostruct.rb (delete_field): Bug fix so previous value is
16949 returned. Patch by Nick Recobra [Bug #6063]
16951 Thu Feb 23 02:33:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16953 * io.c (rb_io_extract_modeenc): fail only if conflicting
16954 text/binary modes given explicitly. [ruby-dev:45268][Bug #6055]
16956 Wed Feb 22 23:27:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16958 * test/iconv/test_option.rb: enabled. [ruby-core:42802][Bug #6061]
16960 Wed Feb 22 21:45:56 2012 Tanaka Akira <akr@fsij.org>
16962 * ext/curses/curses.c: use defined() to suppress a warning.
16964 Wed Feb 22 21:44:29 2012 Tanaka Akira <akr@fsij.org>
16966 * ext/curses/extconf.rb: refactored.
16968 Wed Feb 22 20:42:28 2012 Tanaka Akira <akr@fsij.org>
16970 * ext/curses/extconf.rb: try to distinguish curses_version is a
16971 function or variable.
16973 * ext/curses/curses.c (Init_curses): refine Curses::VERSION.
16975 Wed Feb 22 19:47:03 2012 Tanaka Akira <akr@fsij.org>
16977 * ext/curses/extconf.rb: show the chosen header and library.
16979 Wed Feb 22 19:22:31 2012 Tadayoshi Funaba <tadf@dotrb.org>
16981 * reverted 34739 for test/date.
16983 Wed Feb 22 19:08:55 2012 Tanaka Akira <akr@fsij.org>
16985 * ext/curses/extconf.rb: refactored.
16987 Wed Feb 22 18:44:41 2012 Shota Fukumori <sorah@tubusu.net>
16989 * lib/test/unit.rb (setup_options): add option "--retry" as opposite
16992 Wed Feb 22 18:34:02 2012 Shota Fukumori <sorah@tubusu.net>
16994 * lib/test/unit.rb (setup_options): add option "--show-skip" to
16995 cancel "--hide-skip" (-q)
16997 Wed Feb 22 17:36:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
16999 * io.c (rb_io_s_foreach): argument check before making Enumerator.
17002 Wed Feb 22 17:07:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17004 * io.c (rb_io_s_foreach): return enumerator including keyword
17005 arguments. [ruby-dev:45267][Bug #6054]
17007 Wed Feb 22 12:15:16 2012 NARUSE, Yui <naruse@ruby-lang.org>
17009 * configure.in: allow llvm-gcc because it work fine with r34278.
17011 Wed Feb 22 10:57:08 2012 NARUSE, Yui <naruse@ruby-lang.org>
17013 * regparse.c (fetch_token): don't use // comment.
17015 Wed Feb 22 10:32:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17017 * test/mkmf/test_framework.rb: try CoreFoundation framework, than
17018 Cocoa which is dependent on QuickTime SDK which has separated
17021 Wed Feb 22 10:18:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17023 * common.mk (test-all, test-ruby): more dependencies.
17025 Wed Feb 22 06:48:55 2012 Eric Hodel <drbrain@segment7.net>
17027 * file.c (rb_f_test): Fix formatting of Kernel#test rdoc.
17029 Wed Feb 22 06:12:15 2012 Tanaka Akira <akr@fsij.org>
17031 * ext/dbm/extconf.rb: check DBM_SUFFIX for Mac OS X.
17032 Its ndbm.h doesn't include db.h.
17034 Wed Feb 22 06:02:42 2012 Tanaka Akira <akr@fsij.org>
17036 * ext/dbm/dbm.c (fdbm_initialize): disable Berkeley DB error messages.
17038 * ext/dbm/extconf.rb: check DBC type for above.
17042 Tue Feb 21 20:23:47 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17044 * hash.c (rb_any_hash): treat Qundef like as other special constants.
17046 * hash.c (hash_foreach_iter): fix signature.
17048 Tue Feb 21 19:39:34 2012 Tanaka Akira <akr@fsij.org>
17050 * ext/curses/curses.c (Init_curses): use curses_version() for
17053 Tue Feb 21 18:21:25 2012 Narihiro Nakamura <authornari@gmail.com>
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.
17060 Tue Feb 21 16:08:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17062 * proc.c (rb_hash_proc): get wrapped pointer properly. [Bug #6048]
17064 Tue Feb 21 14:41:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17066 * template/ruby.pc.in: added rubylibprefix, {rubylib,vendor,site}dir
17067 and {ruby,vendor,site}archdir. [ruby-core:42766][Feature #6052]
17069 Tue Feb 21 09:13:25 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
17071 * proc.c (method_hash, proc_hash): Fix {Unbound}Method#hash
17072 [Bug #6048]. Isolate hash computation for proc
17074 * internal.h: Declaration for above
17076 * vm_method.c (rb_method_definition_hash): Computation for
17077 hash part of a method definition
17079 * method.h: Declaration for above
17081 * test/ruby/test_method.rb: Test for above
17083 Tue Feb 21 02:56:15 2012 Yukihiro Matsumoto <matz@ruby-lang.org>
17085 * enumerator.c (enumerator_rewind): update the documentation.
17088 Mon Feb 20 23:38:35 2012 NAKAMURA Usaku <usa@ruby-lang.org>
17090 * enc/depend: ignore mktable.c because it's not encoding library.
17091 [ruby-core:42760] [Bug #6049]
17093 Mon Feb 20 21:40:53 2012 Tanaka Akira <akr@fsij.org>
17095 * ext/curses/extconf.rb: fold too long lines.
17097 Mon Feb 20 21:16:48 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
17103 Mon Feb 20 21:09:27 2012 Tanaka Akira <akr@fsij.org>
17105 * ext/curses/curses.c (Init_curses): define Curses::VERSION.
17107 Mon Feb 20 21:08:00 2012 Tanaka Akira <akr@fsij.org>
17109 * ext/curses/extconf.rb: restore $libs and $defs for each
17110 header/library choice.
17112 Mon Feb 20 19:57:26 2012 Tanaka Akira <akr@fsij.org>
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.
17122 Mon Feb 20 19:15:57 2012 Tanaka Akira <akr@fsij.org>
17124 * ext/dbm/extconf.rb: refine variable names.
17126 Mon Feb 20 15:50:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17128 * configure.in: check if -fstack-protector is really available.
17130 Sun Feb 19 23:43:38 2012 Tanaka Akira <akr@fsij.org>
17132 * ext/dbm/extconf.rb: show header and library found.
17134 Sun Feb 19 23:01:01 2012 Tanaka Akira <akr@fsij.org>
17136 * ext/dbm/dbm.c (Init_dbm): refine DBM::VERSION definition.
17138 * ext/dbm/extconf.rb: provide RUBYDBM_GDBM_HEADER macro.
17140 Sun Feb 19 17:07:27 2012 Tanaka Akira <akr@fsij.org>
17142 * test/dbm/test_dbm.rb (test_dbmfile_suffix): check pag and dir is
17143 empty for 4.3BSD ndbm.
17145 Sun Feb 19 03:00:30 2012 Tanaka Akira <akr@fsij.org>
17147 * test/dbm/test_dbm.rb (test_dbmfile_suffix): check magic numbers.
17149 Sun Feb 19 01:05:41 2012 Tanaka Akira <akr@fsij.org>
17151 * ext/dbm/extconf.rb: detect GDBM's ndbm.h by testing dbm_clearerr is
17154 Sun Feb 19 00:25:55 2012 Tanaka Akira <akr@fsij.org>
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.
17160 Sat Feb 18 23:27:00 2012 Kenta Murata <mrkn@mrkn.jp>
17162 * random.c: remove a duplicated comment.
17164 Sat Feb 18 18:43:13 2012 Tanaka Akira <akr@fsij.org>
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
17173 * ext/dbm/dbm.c (Init_dbm): use HAVE_DECLARED_LIBVAR_GDBM_VERSION and
17174 HAVE_UNDECLARED_LIBVAR_GDBM_VERSION macro.
17176 Sat Feb 18 13:53:01 2012 Tanaka Akira <akr@fsij.org>
17178 * test/dbm/test_dbm.rb (test_dbmfile_suffix): DBM::VERSION should
17179 be Berkeley DB if foo.db is created by DBM.open.
17181 Sat Feb 18 13:40:37 2012 Tanaka Akira <akr@fsij.org>
17183 * test/dbm/test_dbm.rb (test_dbmfile_suffix): test dbm file suffix.
17185 Sat Feb 18 12:50:59 2012 Tanaka Akira <akr@fsij.org>
17187 * ext/dbm/dbm.c (DBM::VERSION): define it by detecting _GDBM_H_ or
17190 Sat Feb 18 07:52:45 2012 NARUSE, Yui <naruse@ruby-lang.org>
17192 * tool/enc-unicode.rb: don't use 1.9 feature on tools.
17194 Sat Feb 18 02:48:39 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
17202 Fri Feb 17 21:39:36 2012 Tanaka Akira <akr@fsij.org>
17204 * ext/dbm/extconf.rb: remove dbm.
17206 Fri Feb 17 21:18:39 2012 Tanaka Akira <akr@fsij.org>
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.
17212 Fri Feb 17 20:30:44 2012 Tanaka Akira <akr@fsij.org>
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.)
17218 Fri Feb 17 15:38:53 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
17224 cp tool/enc-unicode.rb
17227 Fri Feb 17 15:20:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17229 * enum.c (enum_each_slice): arrays to be yielded can be newly
17230 created in the block.
17232 * enum.c: move work variables to objects not to let called blocks
17233 access stack area out of scope. [Bug #5801]
17235 Fri Feb 17 12:35:55 2012 NARUSE, Yui <naruse@ruby-lang.org>
17237 * tool/merger.rb: remove borders from the commit message which is used
17238 when the commit doesn't change ChangeLog.
17240 Fri Feb 17 11:50:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17242 * common.mk (btest, btest-ruby, test-sample test-knownbugs)
17243 (test-all, test-ruby): depend on prog.
17245 Fri Feb 17 09:56:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17247 * lib/mkmf.rb (create_header): log the content of header.
17249 Fri Feb 17 09:44:55 2012 NARUSE, Yui <naruse@ruby-lang.org>
17251 * tool/transcode-tblgen.rb (import_ucm): don't use \h because the
17252 script should work with ruby 1.8.
17254 * tool/enc-unicode.rb: ditto.
17256 Fri Feb 17 07:33:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17258 * enum.c (id_lshift): use constant ID.
17260 Fri Feb 17 07:30:53 2012 Tanaka Akira <akr@fsij.org>
17262 * ext/dbm/extconf.rb: refactored to split too long conditions.
17264 Fri Feb 17 00:23:25 2012 Tanaka Akira <akr@fsij.org>
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]
17270 Fri Feb 17 00:04:21 2012 Tanaka Akira <akr@fsij.org>
17272 * ext/dbm/extconf.rb: check _DB_H_ macro unavailable except
17273 Berkeley DB library.
17275 Thu Feb 16 05:41:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17277 * insns.def (splatarray): make new array if flag is set.
17279 * compile.c (iseq_compile_each): make new array with
17280 splat. [ruby-core:21901][Feature #1125]
17282 Thu Feb 16 00:14:04 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
17284 * lib/abbrev.rb (Array#abbrev): add missing '"' in documentation.
17286 Wed Feb 15 22:20:19 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
17288 * cont.c (rb_fiber_reset_root_local_storage): add a new function to
17289 restore rb_thread_t::local_storage.
17291 * cont.c (rb_obj_is_fiber): add a new function to tell finalizer to
17292 prevent fibers from destroy.
17294 * gc.c (rb_objspace_call_finalizer): don't sweep fibers at finalizing
17297 * internal.h (rb_fiber_reset_root_local_storage, rb_obj_is_fiber):
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]
17305 * test/ruby/test_fiber.rb (test_fork_from_fiber): add test for fork
17308 Wed Feb 15 19:57:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17310 * ext/fiddle/closure.c (callback): deal with unsigned integers.
17311 [ruby-core:42458][Bug #5991][Bug #6022]
17313 * ext/fiddle/conversions.c (value_to_generic, generic_to_value):
17316 * ext/fiddle/closure.c (callback): same as r34506.
17318 Wed Feb 15 17:41:31 2012 NARUSE, Yui <naruse@ruby-lang.org>
17320 * io.c (io_strsetbuf): call rb_str_modify to make str independent
17321 before calling rb_str_set_len for r34580.
17323 Wed Feb 15 12:30:10 2012 Eric Hodel <drbrain@segment7.net>
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.
17328 Wed Feb 15 12:24:40 2012 Eric Hodel <drbrain@segment7.net>
17330 * ext/zlib/zlib.c: Move constant descriptions to constants. Remove
17331 extra comment block at the top of Init_zlib().
17333 Wed Feb 15 12:30:46 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
17335 * lib/ostruct.rb: Create getters and setters after dup.
17336 [Bug #6028] [rubyspecs:0380bcc]
17338 Wed Feb 15 10:59:52 2012 Narihiro Nakamura <authornari@gmail.com>
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]
17344 Wed Feb 15 09:27:45 2012 Eric Hodel <drbrain@segment7.net>
17346 * ext/zlib/zlib.c (Init_zlib): Added Zlib::FIXED and Zlib::RLE
17348 * NEWS: Add note about the new Zlib constants.
17350 Wed Feb 15 09:11:36 2012 Eric Hodel <drbrain@segment7.net>
17352 * ext/zlib/zlib.c: Improve documentation. [ruby-trunk - Bug #5948]
17354 Wed Feb 15 07:28:54 2012 Eric Hodel <drbrain@segment7.net>
17356 * encoding.c (Init_Encoding): Add IO example of internal and external
17357 encoding. Fixed a typo in the force_encoding example. [#5949]
17359 Wed Feb 15 06:58:21 2012 Eric Hodel <drbrain@segment7.net>
17361 * encoding.c (Init_Encoding): Add Encoding documentation.
17362 [ruby-trunk - Bug #5949]
17363 * encoding.c (rb_set_default_external): Fix typo in documentation.
17365 Tue Feb 14 20:22:11 2012 Narihiro Nakamura <authornari@gmail.com>
17367 * gc.c (CEILDIV): rename to a appropriate name.
17369 Tue Feb 14 18:07:20 2012 Narihiro Nakamura <authornari@gmail.com>
17371 * gc.c (assign_heap_slot): SEGV happens cause on 64-bit platform
17372 sometime there should be `objs-=2` instead of `objs--`.
17374 patched by Sokolov Yura. https://github.com/ruby/ruby/pull/92
17376 Tue Feb 14 16:00:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17378 * io.c (io_setstrbuf): cut down the buffer if longer.
17380 Tue Feb 14 15:06:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17382 * lib/test/unit/assertions.rb (build_message): skip escaped
17385 Tue Feb 14 12:10:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17387 * variable.c (autoload_const_set, autoload_require): fix
17390 Tue Feb 14 05:23:40 2012 Eric Hodel <drbrain@segment7.net>
17392 * process.c (proc_wait): Change typo "SystemError" to
17393 "SystemCallError". [ruby-trunk - Bug #5962]
17394 * process.c (proc_wait2): ditto
17396 Tue Feb 14 05:18:24 2012 Eric Hodel <drbrain@segment7.net>
17398 * enumerator.c: Document use of Enumerator.new for creating a lazy
17399 enumeration for filtering/chaining. [ruby-trunk - Feature #707]
17401 Mon Feb 13 23:01:50 2012 Akinori MUSHA <knu@iDaemons.org>
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]
17411 Mon Feb 13 21:52:06 2012 Narihiro Nakamura <authornari@gmail.com>
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
17421 Mon Feb 13 18:30:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17423 * io.c (io_setstrbuf): defer resizing buffer string until data is
17426 Mon Feb 13 10:24:39 2012 Loren Segal <lsegal@soen.ca>
17428 * io.c (Init_IO): use directive hack to make ARGF documentable
17429 in other tools. [ruby-core:42515][Bug #6007]
17431 Sun Feb 12 20:43:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17433 * include/ruby/ruby.h (rb_event_hook_func_t): add argument names.
17435 Sun Feb 12 16:30:23 2012 Akinori MUSHA <knu@iDaemons.org>
17437 * tool/merger.rb (#default_merge_branch): Add support for
17438 Subversion 1.7 which adopted a whole new working directory
17441 Sun Feb 12 15:14:41 2012 Kazuki Tsujimoto <kazuki@callcc.net>
17443 * benchmark/driver.rb: suppress unused/shadowing variable warnings.
17445 Sun Feb 12 03:14:40 2012 Eric Hodel <drbrain@segment7.net>
17447 * vm_eval.c (check_funcall): Call respond_to? with matching arity for
17448 legacy single-argument implementations. [ruby-trunk - Bug #6000]
17450 Sat Feb 11 12:04:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17452 * compile.c (defined_expr): guard the whole expression.
17453 [ruby-dev:45021][Bug#5786]
17455 Sat Feb 11 08:34:42 2012 Eric Hodel <drbrain@segment7.net>
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]
17461 Sat Feb 11 08:23:02 2012 Eric Hodel <drbrain@segment7.net>
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]
17467 Sat Feb 11 06:00:48 2012 NARUSE, Yui <naruse@ruby-lang.org>
17469 * dir.c (fnmatch): The * needs to be escaped to avoid formatting in
17471 patched by @dalton. https://github.com/ruby/ruby/pull/91
17473 Fri Feb 10 03:41:31 2012 Aaron Patterson <aaron@tenderlovemaking.com>
17475 * ext/psych/parser.c: removed external encoding setter, allow parser
17477 * ext/psych/lib/psych/parser.rb: added external encoding setter.
17478 * test/psych/test_parser.rb: test parser reuse
17480 Fri Feb 10 01:30:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17482 * ext/dl/dl.h (ALIGN_OF): use offsetof().
17484 * ext/dl/dl.h (DLALIGN): round up at once and get rid of overflow.
17486 Fri Feb 10 00:47:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17488 * test/ruby/envutil.rb (assert_no_memory_leak): new assertion to
17489 check memory leak by invoking child ruby process and watch its
17492 Thu Feb 9 23:41:44 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
17494 * test/pathname/test_pathname.rb (test_binread): add assertion to
17497 Thu Feb 9 16:48:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17499 * ext/dl/dl.c (Init_dl): fix mangled document.
17501 Thu Feb 9 16:10:34 2012 NAKAMURA Usaku <usa@ruby-lang.org>
17503 * test/ruby/memory_status.rb (Memory::Win32): 64bit support.
17505 Thu Feb 9 16:08:55 2012 NAKAMURA Usaku <usa@ruby-lang.org>
17507 * ext/dl/lib/value.rb (DL::ValueUtil.{unsigned_value,signed_value}):
17508 currently pack/unpack does not accept "q!" and "Q!".
17510 Thu Feb 9 16:01:29 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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
17516 Thu Feb 9 11:32:36 2012 NAKAMURA Usaku <usa@ruby-lang.org>
17518 * ext/dl/lib/types.rb: Win64 support.
17520 Thu Feb 9 04:12:29 2012 NARUSE, Yui <naruse@ruby-lang.org>
17522 * test/pathname/test_pathname.rb: not read but binread.
17523 patched by Benoit Daloze, [ruby-core:42440] [Bug #5984]
17525 Wed Feb 8 22:29:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17527 * string.c (rb_str_modify_expand): fix memory leak.
17529 Wed Feb 8 14:06:59 2012 Hiroshi Nakamura <nahi@ruby-lang.org>
17531 * ext/openssl/ossl_ssl.c: Add SSL constants and allow to unset SSL
17532 option to prevent BEAST attack. See [Bug #5353].
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)
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.
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.
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
17554 Following is an example to enable 0/n split for BEAST prevention.
17556 ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
17558 * test/openssl/test_ssl.rb: Test above option exists.
17560 Wed Feb 8 13:12:02 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
17562 * ext/openssl/ossl_x509name.c: Use the numerical representation of
17563 unrecognized OIDs instead of the sn "UNDEF".
17565 * test/openssl/test_x509name.rb: Add tests for the fixed behavior.
17567 Patch provided by Paul Kehrer, thank you!
17568 [ruby-core:41769] [Feature #5787]
17570 Wed Feb 8 09:49:58 2012 NARUSE, Yui <naruse@ruby-lang.org>
17572 * tool/merger.rb: don't abort, update first.
17574 Wed Feb 8 09:47:33 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
17580 Wed Feb 8 09:19:00 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
17582 * ext/openssl/ossl_cipher.c: Add warning about key as IV.
17584 Tue Feb 7 20:08:12 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
17586 * error.c (exc_inspect): Fix typo. patch from Trent Ogren
17587 via https://github.com/ruby/ruby/pull/90
17589 Tue Feb 7 19:37:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17591 * st.c: refactor packed entries using structs.
17593 Tue Feb 7 14:52:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17595 * st.c (st_update): table can be unpacked in the callback.
17597 * st.c (st_foreach): should not yield same pair when checking
17600 Mon Feb 6 21:55:13 2012 NARUSE, Yui <naruse@ruby-lang.org>
17602 * tool/merger.rb: abort if the working directory is dirty.
17604 * tool/merger.rb: update the working directory after commit.
17606 Mon Feb 6 00:16:27 2012 NARUSE, Yui <naruse@ruby-lang.org>
17608 * encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string
17609 is ascii only string. [ruby-core:42354] [Bug #5968]
17611 Fri Feb 3 07:16:47 2012 Eric Hodel <drbrain@segment7.net>
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.
17617 Fri Feb 3 06:53:22 2012 Eric Hodel <drbrain@segment7.net>
17619 * ext/openssl/ossl_x509store.c: Add class documentation for
17620 OpenSSL::X509::Store
17622 Thu Feb 2 22:28:13 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
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]
17629 * test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address):
17632 Thu Feb 2 21:48:18 2012 Kouhei Sutou <kou@cozmixng.org>
17634 * lib/rexml/parsers/baseparser.rb: use meaningful names.
17636 Thu Feb 2 21:38:52 2012 Kouhei Sutou <kou@cozmixng.org>
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!!!
17643 Thu Feb 2 17:51:02 2012 NARUSE, Yui <naruse@ruby-lang.org>
17645 * io.c (argf_next_argv): reset ARGF.next_p on ARGV.replace.
17646 r34409 breaks replacing ARGV.
17647 [ruby-dev:45160] [Bug #5952]
17649 Thu Feb 2 16:21:01 2012 NAKAMURA Usaku <usa@ruby-lang.org>
17651 * test/net/http/test_http.rb (TestNetHTTPKeepAlive#*): remove debug
17654 Thu Feb 2 01:24:34 2012 Yusuke Endoh <mame@tsg.ne.jp>
17656 * parse.y (debug_lines, coverage): set file path encoding for coverage
17657 result. [ruby-dev:44950]
17659 Wed Feb 1 14:38:31 2012 Akinori MUSHA <knu@iDaemons.org>
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.
17665 * lib/tempfile.rb (Tempfile#unlink, Tempfile::Remover#call): My
17666 comment about thread safeness is obsolete.
17668 Wed Feb 1 09:50:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17670 * doc/re.rdoc (Repetition): fix typo. reported by Ori Avtalion
17671 and patched by Zachary Scott. [Bug #5947]
17673 Wed Feb 1 06:38:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17675 * io.c (argf_close): skip stdin, which should be readable again.
17676 [ruby-dev:45160] [Bug #5952]
17678 * io.c (argf_readlines): reinitialize after all read to be
17681 Tue Jan 31 21:27:43 2012 Narihiro Nakamura <authornari@gmail.com>
17683 * configure.in (HEAP_ALIGN_LOG): HEAP_ALIGN_LOG should be page
17684 size in OpenBSD. [ruby-core:42158][Bug #5901]
17686 * gc.c : avoid to redefine.
17688 Tue Jan 31 14:27:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17690 * test/ruby/envutil.rb (EnvUtil.invoke_ruby): yield also child pid
17693 Mon Jan 30 19:08:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17695 * vm_eval.c (vm_call0): should pass block to enumerators. patched
17696 by Kazuki Tsujimoto. [ruby-dev:44961][Bug #5731]
17698 * vm_eval.c (method_missing), vm_insnhelper.c (vm_call_method):
17699 ditto. patched by satoshi shiba.
17701 Mon Jan 30 12:31:05 2012 NAKAMURA Usaku <usa@ruby-lang.org>
17703 * file.c (append_fspath): need to set the encoding to result always.
17705 Mon Jan 30 10:38:37 2012 NAKAMURA Usaku <usa@ruby-lang.org>
17707 * test/irb/test_completion.rb: skip if cannot load irb/completion
17708 (maybe readline does not exist).
17710 Sun Jan 29 22:47:19 2012 Yutaka Kanemoto <kanemoto@ruby-lang.org>
17712 * tool/config.{guess,sub}: updated to automake-1.11.2.
17714 Sun Jan 29 12:17:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17716 * ext/readline/readline.c (readline_attempted_completion_function):
17717 respect encodings. [Bug #5941]
17719 Sat Jan 28 09:33:33 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
17725 Sat Jan 28 08:18:11 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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.
17731 * win32/win32.c (CreateChild): create process group to receive the
17732 signal by GenerateConsoleCtrlEvent().
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]
17739 Sat Jan 28 07:46:03 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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
17748 * thread_win32.c (rb_w32_wait_events): use ruby_thread_from_native()
17749 instead of GET_THREAD() for consistency with the above change.
17751 * thread_win32.c (rb_w32_sleep): ditto.
17753 * thread_win32.c (rb_w32_Sleep): ditto.
17754 [ruby-dev:45149] [Bug #5812]
17756 Sat Jan 28 07:28:48 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
17758 * test/zlib/test_zlib.rb (TestZlibGzipReader#test_reader_wrap): set
17759 binmode explicitly for fixing test error on Windows. This is consistent
17761 [ruby-dev:45149] [Bug #5812]
17763 Sat Jan 28 05:53:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17765 * lib/irb/completion.rb (IRB::InputCompletor::CompletionProc):
17766 ignore non-string name modules. [ruby-core:42244][Bug #5938]
17768 Fri Jan 27 16:31:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17770 * gc.c (HEAP_ALIGN, HEAP_ALIGN_MASK): DRY, let compiler calculate
17771 from HEAP_ALIGN_LOG.
17773 Thu Jan 26 11:03:37 2012 Eric Hodel <drbrain@segment7.net>
17775 * lib/matrix.rb: Clean up extra whitespace in output documentation.
17777 Thu Jan 26 03:24:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17779 * ext/io/console/console.c (io_getch): default delegating method
17780 for StringIO. https://github.com/nobu/io-console/issues/4
17782 * ext/stringio/stringio.c: moved some methods to hidden modules.
17784 Wed Jan 25 13:27:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17786 * file.c (rb_file_s_basename): ignore non-ascii extension in
17787 different encoding, which cannot match.
17789 * file.c (rmext): no extension to strip if empty string.
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.
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]
17801 * dir.c (check_dirname, ruby_glob0): ditto.
17803 * ext/pathname/pathname.c (path_sub_ext): ditto.
17805 Tue Jan 24 14:20:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17807 * vm.c (rb_iter_break_value): new function to break a block with
17808 the value. [ruby-dev:45132] [Feature #5895]
17810 Tue Jan 24 12:58:41 2012 Yukihiro Matsumoto <matz@ruby-lang.org>
17812 * object.c (rb_Hash): add Kernel#Hash conversion method like
17813 Array() or Float(). a patch from Run Paint Run Run. Fix #3131
17815 Tue Jan 24 11:38:05 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
17821 * lib/uri/common.rb (URI.decode_www_form_component): initialize on
17823 Mon Jan 23 20:33:11 2012 Jason Kay <geniture@me.com>
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
17833 https://github.com/ruby/ruby/pull/72
17836 Mon Jan 23 17:06:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
17838 * lib/uri/mailto.rb (URI::MailTo.build): follow Array#to_s change of
17839 Ruby 1.9; use Array#join. [Bug #5840]
17841 Mon Jan 23 16:42:28 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
17847 Mon Jan 23 16:35:27 2012 NARUSE, Yui <naruse@ruby-lang.org>
17849 * io.c (rb_io_extract_modeenc): set ASCII-8BIT if binmode is specified
17850 with opthash. [ruby-core:42197] [Bug #5917]
17852 Mon Jan 23 10:08:00 2012 Kenta Murata <mrkn@cookpad.com>
17854 * test/cgi/test_cgi_util.rb (test_cgi_escape_preserve_encoding):
17855 add a test for CGI::escape to preserve encoding.
17857 * test/cgi/test_cgi_util.rb (test_cgi_unescape_preserve_encoding):
17858 add a test for CGI::unescape to preserve encoding.
17860 Mon Jan 23 00:45:34 2012 Akinori MUSHA <knu@iDaemons.org>
17862 * misc/rdoc-mode.el (rdoc-imenu-create-index): Add imenu support
17865 * misc/rdoc-mode.el (rdoc-mode): Fix regexp patterns containing
17866 "\s " where CR/LF is not supposed to match.
17868 Sun Jan 22 15:41:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17870 * parse.y (rb_intern3): split to registration check and new
17873 * parse.y (rb_intern_str): make interned string shared with the
17876 * parse.y (rb_intern3, rb_intern_str): check the coderange first.
17878 Sat Jan 21 22:21:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17880 * include/ruby/ruby.h (FIXNUM_P): simple flag should be int.
17882 Sat Jan 21 21:51:19 2012 NARUSE, Yui <naruse@ruby-lang.org>
17884 * encoding.c (rb_enc_compatible): fix segv on symbols.
17885 [ruby-core:42204] [Bug #5921]
17887 Sat Jan 21 11:43:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17889 * dir.c (dir_chdir, check_dirname): get rid of optimization-out.
17891 Fri Jan 20 20:47:37 2012 Kenta Murata <mrkn@cookpad.com>
17893 * lib/cgi/util.rb (CGI.escape): support a string with invalid byte
17894 sequence. [Bug #5913]
17896 * test/cgi/test_cgi_util.rb
17897 (test_cgi_escape_with_invalid_byte_sequence): test for the above
17900 Fri Jan 20 17:37:37 2012 NARUSE, Yui <naruse@ruby-lang.org>
17902 * vm.c (vm_exec): remove workaround for LLVM because r34278 fixes it.
17904 * vm_insnhelper.c (vm_call_cfunc): ditto.
17906 Fri Jan 20 14:31:43 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
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
17917 * lib/net/http.rb (Net::HTTP#begin_transport): reconnect TCP
17918 connection on keep-alive timeout.
17920 Thu Jan 19 07:53:09 2012 Tadayoshi Funaba <tadf@dotrb.org>
17922 * ext/date/date_strptime.c: moved detector of leftover.
17924 Thu Jan 19 07:10:47 2012 Tadayoshi Funaba <tadf@dotrb.org>
17926 * ext/date/date_parse.c: [ruby-core:42173].
17928 Wed Jan 18 18:11:02 2012 Akinori MUSHA <knu@iDaemons.org>
17930 * misc/rdoc-mode.el (rdoc-mode): Add provide so that requiring
17931 this library succeeds.
17933 Wed Jan 18 18:06:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17935 * ext/curses/curses.c (cWindow, cMouseEvent): made typed data.
17937 Wed Jan 18 12:49:15 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
17945 Wed Jan 18 10:39:47 2012 Aaron Patterson <aaron@tenderlovemaking.com>
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
17953 Tue Jan 17 17:18:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17955 * configure.in (SPT_TYPE): enable as SPT_REUSEARGV on Darwin.
17957 * missing/setproctitle.c (ruby_init_setproctitle): changed prefix.
17959 Tue Jan 17 12:32:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17961 * gc.c (aligned_malloc, aligned_free): covered missing defined
17962 operators and fixes for cygwin.
17964 Tue Jan 17 10:54:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17966 * st.c (do_hash): it's the time to remove cast to unsigned int.
17968 Tue Jan 17 07:30:12 2012 NARUSE, Yui <naruse@ruby-lang.org>
17970 * st.c (unpack_entries): Fix r34310: on unpacking, the position of
17971 a hash must be do_hash-ed value.
17973 * st.c (add_packed_direct): ditto.
17975 Mon Jan 16 16:41:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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
17981 Mon Jan 16 11:22:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
17983 * win32/win32.c (rb_chsize): no need to get the current file size.
17985 Mon Jan 16 00:41:33 2012 Sokolov Yura <funny.falcon@gmail.com>
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.
17991 https://github.com/ruby/ruby/pull/77
17993 Sun Jan 15 14:09:48 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
18002 Sun Jan 15 13:21:50 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
18008 Sat Jan 14 22:24:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
18010 * ext/dl/callback/mkcallback.rb (gencallback): suppress unused
18013 Sat Jan 14 21:56:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
18019 Sat Jan 14 18:24:13 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18021 * error.c (exc_equal): clear rb_thread_t::errinfo when ignore
18022 an exception under rb_protect(). [ruby-core:41979] [Bug #5865]
18024 Sat Jan 14 12:02:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
18030 Sat Jan 14 12:00:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
18032 * error.c (exc_equal): ignore exceptions during implicit
18033 conversion. [ruby-core:41979] [Bug #5865]
18035 Sat Jan 14 05:58:54 2012 Eric Hodel <drbrain@segment7.net>
18037 * io.c (rb_io_s_read): Fix formatting of open_args comment. Reported
18040 Fri Jan 13 18:41:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
18042 * sprintf.c (rb_enc_vsprintf): can be used for ASCII compatible
18045 Fri Jan 13 18:29:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
18047 * thread.c (rb_mutex_unlock_th): simplified.
18049 * thread.c (rb_barrier_waiting): fix potential overflows.
18051 Fri Jan 13 17:23:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
18053 * load.c (load_unlock): update loading table at once.
18055 Fri Jan 13 16:44:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
18057 * error.c (exc_equal): try implicit conversion for delegator.
18058 [ruby-core:41979] [Bug #5865]
18060 Fri Jan 13 03:46:53 2012 Akinori MUSHA <knu@iDaemons.org>
18062 * lib/shellwords.rb (Shellwords#shellescape): shellescape() now
18063 stringifies the given object using to_s.
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.
18069 * lib/shellwords.rb: Fix rdoc markups.
18071 Fri Jan 13 03:38:36 2012 Akinori MUSHA <knu@iDaemons.org>
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.
18077 Fri Jan 13 03:28:00 2012 Luis Lavena <luislavena@gmail.com>
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
18083 Thu Jan 12 18:44:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
18089 Thu Jan 12 13:51:00 2012 NARUSE, Yui <naruse@ruby-lang.org>
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.
18097 * cont.c (cont_restore_1): revert workaround introduced in r32201.
18099 Thu Jan 12 02:14:43 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
18101 * object.c: Added examples for Object#is_a? and
18102 Object#instance_of? patched from Manoj Kumar.
18103 [Bug #5880] [ruby-core:42057]
18105 Thu Jan 12 00:57:48 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
18107 * lib/mkmf.rb: verbose-mode can use by RM, RMDIRS, etc.
18108 (e.g. make V=1 realclean)
18110 Wed Jan 11 23:40:21 2012 Naohisa Goto <ngoto@gen-info.osaka-u.ac.jp>
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]
18116 Wed Jan 11 22:52:51 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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.
18122 * gc.c (ruby_xfree): don't decrement allocated_size/allocations if
18123 allocated size record is 0.
18125 Wed Jan 11 22:36:43 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18127 * test/readline/test_readline.rb (test_completion_proc_empty_result):
18128 ensure clearance of Readline's line_buffer after the test.
18130 Tue Jan 10 21:57:38 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
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]
18136 Tue Jan 10 15:31:55 2012 NARUSE, Yui <naruse@ruby-lang.org>
18138 * vm.c (vm_exec): refix r34162; suppress warning and add description.
18140 Tue Jan 10 15:13:58 2012 NARUSE, Yui <naruse@ruby-lang.org>
18142 * ext/readline/readline.c (readline_attempted_completion_function):
18145 Tue Jan 10 12:49:42 2012 NARUSE, Yui <naruse@ruby-lang.org>
18147 * gc.c: in fact, i686-linux doesn't need to define _XOPEN_SOURCE 600.
18149 Tue Jan 10 12:44:11 2012 NARUSE, Yui <naruse@ruby-lang.org>
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
18156 * internal.h: ditto.
18158 * vm.c (Init_BareVM): use ruby_mimmalloc.
18160 * ext/dl/cfunc.c: #include <ruby/util.h>.
18162 * ext/syslog/syslog.c: use xfree because it is allocated by
18165 Tue Jan 10 12:13:56 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
18167 * ext/readline/readline.c (readline_attempted_completion_function):
18170 Tue Jan 10 10:41:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
18172 * ext/readline/readline.c (readline_attempted_completion_function):
18173 empty completion result does not mean memory error.
18175 Tue Jan 10 02:19:22 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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]
18181 Tue Jan 10 00:41:28 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18183 * lib/tempfile.rb (Tempfile#_close): clear @tempfile and @data[1] even
18184 when exception is raised at @tempfile.close. [ruby-dev:45113]
18186 * lib/tempfile.rb (Tempfile#unlink): fix a typo.
18188 Tue Jan 10 00:32:17 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18190 * gc.c (run_finalizer): clear rb_thread_t::errinfo when ignore
18191 an exception under rb_protect(). [ruby-dev:45113]
18193 Mon Jan 9 23:37:43 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18195 * ext/readline/readline.c (readline_attempted_completion_function):
18198 Mon Jan 9 20:55:34 2012 Narihiro Nakamura <authornari@gmail.com>
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.
18204 Mon Jan 9 20:26:33 2012 Tanaka Akira <akr@fsij.org>
18206 * ext/pathname/pathname.c (path_entries): add document suggested by
18207 the thread [ruby-core:41959] [Bug #5859].
18209 Mon Jan 9 20:14:13 2012 Tanaka Akira <akr@fsij.org>
18211 * ext/socket/lib/socket.rb (family_addrinfo): don't require protocol
18212 equality. For example, protocol 0 and IPPROTO_TCP is not problem
18215 Mon Jan 9 20:08:52 2012 Tanaka Akira <akr@fsij.org>
18217 * ext/socket/lib/socket.rb (family_addrinfo): return the given
18219 Patch by Ippei Obayashi. [ruby-dev:45095] [Bug #5845]
18221 Mon Jan 9 19:40:20 2012 NAKAMURA Usaku <usa@ruby-lang.org>
18223 * test/zlib/test_zlib.rb (TestZlibGzipWriter#test_writer_wrap): set
18224 binmode explicitly.
18226 Mon Jan 9 14:42:41 2012 Narihiro Nakamura <authornari@gmail.com>
18228 * gc.c: free_slots is changed Singly linked list. clear
18229 free_slots before sweep.
18231 Mon Jan 9 07:46:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
18233 * gc.c: i686-linux needs to define _XOPEN_SOURCE 600 for posix_memalign.
18235 Mon Jan 9 04:24:59 2012 NARUSE, Yui <naruse@ruby-lang.org>
18237 * gc.c (rb_objspace_free): global_List is allocated with xmalloc.
18238 patched by Sokolov Yura. https://github.com/ruby/ruby/pull/78
18240 * dln_find.c: remove useless replacement of free.
18242 * ext/readline/readline.c (readline_attempted_completion_function):
18243 strings for readline must allocated with malloc.
18245 * process.c (run_exec_dup2): use free; see also r20950.
18247 * re.c (onig_new_with_source): use malloc for oniguruma.
18249 * vm.c (ruby_vm_destruct): use free for VMs.
18251 * vm.c (thread_free): use free for threads.
18253 Mon Jan 9 04:24:59 2012 NARUSE, Yui <naruse@ruby-lang.org>
18255 * dln_find.c: remove useless replacement of free.
18257 * ext/readline/readline.c (filename_completion_proc_call):
18258 matches should use xfree.
18260 * ext/readline/readline.c (username_completion_proc_call): ditto.
18262 Mon Jan 9 01:12:35 2012 NARUSE, Yui <naruse@ruby-lang.org>
18264 * numeric.c (rb_enc_uint_char): raise RangeError when added codepoint
18265 is invalid. [Feature #5855] [Bug #5863] [Bug #5864]
18267 * string.c (rb_str_concat): ditto.
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.
18272 * regenc.c (onigenc_mb2_code_to_mbclen): rearrange error code.
18274 * enc/euc_jp.c (code_to_mbclen): ditto.
18276 * enc/shift_jis.c (code_to_mbclen): ditto.
18278 Sun Jan 8 20:31:45 2012 Narihiro Nakamura <narihiro@netlab.jp>
18280 * gc.c : consider header bytes which are used by malloc.
18282 Sun Jan 8 11:54:43 2012 Narihiro Nakamura <authornari@gmail.com>
18284 * gc.c (aligned_free): support MinGW. Patch by Hiroshi Shirosaki.
18286 Sun Jan 8 11:43:05 2012 Narihiro Nakamura <authornari@gmail.com>
18288 * gc.c (slot_sweep): add a assertion instead of a debug print.
18290 Sun Jan 8 01:18:19 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
18292 * test/-ext-/old_thread_select/test_old_thread_select.rb:
18293 avoid platform bug. [Bug #5858] [ruby-dev:45108]
18295 Sun Jan 8 00:46:34 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
18297 * gc.c: get rid of implicit narrowing conversion.
18299 Sun Jan 8 00:10:10 2012 NARUSE, Yui <naruse@ruby-lang.org>
18301 * configure.in: check posix_memalign(3) and memalign(3).
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.
18307 Sat Jan 7 22:25:50 2012 Narihiro Nakamura <authornari@gmail.com>
18309 * gc.c: use Bitmap Marking algorithm to avoid copy-on-write of
18310 memory pages. See [ruby-dev:45085] [Feature #5839]
18313 * include/ruby/ruby.h : FL_MARK rename to FL_RESERVED1.
18319 * object.c (rb_obj_clone): FL_MARK move to a bitmap.
18321 * class.c (rb_singleton_class_clone): ditto.
18323 Sat Jan 7 00:47:07 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18325 * configure.in: always define CANONICALIZATION_FOR_MATHN.
18326 [ruby-dev:45100] [Bug #5852]
18328 Fri Jan 6 23:11:20 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
18330 * include/ruby/version.h: RUBY_API_VERSION 2.0.0
18332 Fri Jan 6 12:24:11 2012 NARUSE, Yui <naruse@ruby-lang.org>
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]
18338 Thu Jan 5 15:26:15 2012 NAKAMURA Usaku <usa@ruby-lang.org>
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.
18345 Thu Jan 5 12:15:55 2012 NARUSE, Yui <naruse@ruby-lang.org>
18347 * file.c (rb_file_join): separator is appended by array length - 1
18348 times. patched by Benoit Daloze [ruby-core:41901] [Bug #5841]
18350 Thu Jan 5 11:47:54 2012 NARUSE, Yui <naruse@ruby-lang.org>
18352 * lib/uri/common.rb (URI::Parser#initialize_regexp):
18353 use \A \z instead of ^ $. [Bug #5843]
18355 Wed Jan 4 17:55:53 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
18357 * array.c (rb_ary_sample): add example for Array#sample
18358 based on patch from https://github.com/ruby/ruby/pull/74
18360 Wed Jan 4 14:24:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
18366 Wed Jan 4 11:32:07 2012 NAKAMURA Usaku <usa@ruby-lang.org>
18368 * win32/win32.c (check_valid_dir): special case for a root directory.
18369 Reported by Masateru OKAMOTO at [Bug #5819].
18371 Wed Jan 4 00:19:54 2012 Kouhei Sutou <kou@cozmixng.org>
18373 * lib/rexml/parsers/baseparser.rb: use private instead of _xxx
18374 method name. This is Ruby code not Python code.
18377 Tue Jan 3 23:57:37 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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]
18383 Tue Jan 3 20:44:13 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
18385 * README: add comment for Git user. patch from Arun Agrawal.
18386 * README.ja: ditto.
18388 Tue Jan 3 15:58:22 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
18390 * thread.c: changed documentation for "thread-local" variables.
18391 patch from Julien Ammous.
18393 Tue Jan 3 15:50:12 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
18395 * process.c: Fix typo. patch from Aviv Ben-Yosef.
18397 Tue Jan 3 13:43:37 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
18399 * tool/merger.rb: allow r0123 style revision number.
18401 Tue Jan 3 11:17:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
18403 * tool/merger.rb (#version_up): version.h date should be Japanese
18406 Mon Jan 2 22:08:00 2012 Akinori MUSHA <knu@iDaemons.org>
18408 * tool/file2lastrev.rb (VCS::detect): Add support for Subversion
18409 1.7 which adopted a whole new working directory structure.
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
18416 Mon Jan 2 20:53:36 2012 Tanaka Akira <akr@fsij.org>
18418 * lib/securerandom.rb (random_bytes): use IO#read instead of
18419 IO#readpartial to make the intent more clear.
18421 Mon Jan 2 15:26:39 2012 Kazuki Tsujimoto <kazuki@callcc.net>
18423 * test/ruby/test_object.rb (test_send_with_block): add a normal case.
18425 Mon Jan 2 15:18:54 2012 Kazuki Tsujimoto <kazuki@callcc.net>
18427 * test/ruby/test_object.rb (test_send_with_block): moved from
18428 bootstraptest/test_flow.rb.
18430 Mon Jan 2 15:10:11 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
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.
18436 Mon Jan 2 15:05:09 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
18438 * lib/test/unit.rb (Test::Unit::Runner::Worker#run): use
18439 File.basename with suffix instead of gsub.
18441 Mon Jan 2 14:55:28 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
18443 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): find may
18444 return nil and nil can not dup.
18446 Sun Jan 1 12:23:10 2012 Akinori MUSHA <knu@iDaemons.org>
18448 * lib/shellwords.rb (Shellwords#shellescape): Drop the //n flag
18449 that only causes warnings with no real effect. [Bug #5637]
18451 Sat Dec 31 06:28:37 2011 NARUSE, Yui <naruse@ruby-lang.org>
18453 * thread.c (rb_barrier_waiting): save the number of waiting threads
18454 in RBASIC()->flags. [ruby-dev:45002] [Bug #5768]
18456 * thread.c (rb_barrier_wait): increment and decrement around
18457 rb_mutex_lock, and use rb_barrier_waiting().
18459 * thread.c (rb_barrier_release): use rb_barrier_waiting().
18461 * thread.c (rb_barrier_destroy): ditto.
18463 Mon Dec 26 17:20:10 2011 NARUSE, Yui <naruse@ruby-lang.org>
18465 * vm.c (vm_exec): add guard to prevent optimization for LLVM clang.
18467 Fri Dec 30 17:01:12 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
18469 * vm_eval.c (rb_f_send): fix obj.send() documentation issue.
18470 [Bug #5125] [ruby-core:38633]
18472 Thu Dec 29 22:36:16 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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]
18478 Thu Dec 29 01:51:13 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18480 * include/ruby/ruby.h: fix #error pragma. LLP64 platform is supported.
18482 * include/ruby/st.h: ditto.
18484 Wed Dec 28 11:22:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18486 * lib/fileutils.rb (FileUtils::Entry_#entries): use utility method
18487 instead of typoed regexp. [ruby-core:41829] [Bug #5817]
18489 Wed Dec 28 02:08:04 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18491 * vm_insnhelper.c (unknown_keyword_error): add GC guard to prevent
18492 intermediate object from GC.
18494 Tue Dec 27 22:34:54 2011 Shota Fukumori <sorah@tubusu.net>
18496 * lib/test/unit.rb (Worker#close): "closing IO if IO is closed"
18497 should be "closing IO if IO isn't closed"
18499 Tue Dec 27 22:04:27 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18501 * st.c (st_update): new function to lookup the given key and
18502 update the value. [ruby-dev:44998]
18504 Tue Dec 27 21:17:33 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18506 * node.h (rb_args_info): change pre_args_num and post_args_num as
18507 int, to match with rb_iseq_t.
18509 * parse.y (new_args_gen): check overflow.
18511 Mon Dec 26 22:38:35 2011 Yusuke Endoh <mame@tsg.ne.jp>
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.
18517 Mon Dec 26 22:31:07 2011 Yusuke Endoh <mame@tsg.ne.jp>
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.
18525 * test/ruby/test_keyword.rb: add a test for above.
18527 Mon Dec 26 22:15:27 2011 Yusuke Endoh <mame@tsg.ne.jp>
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>
18540 * iseq.c (iseq_free, prepare_iseq_build): bookkeeping.
18542 * test/ruby/test_keyword.rb: add tests for keyword arguments.
18544 * test/ripper/dummyparser.rb (class DummyParser): temporal fix for
18547 Mon Dec 26 22:00:17 2011 Yusuke Endoh <mame@tsg.ne.jp>
18549 * node.h, node.c, parse.y: implement a parser part for keyword
18551 This is a preparation for keyword argument (see [ruby-core:40290]).
18553 * gc.c (gc_mark_children): bookkeeping.
18555 Mon Dec 26 21:03:18 2011 Yusuke Endoh <mame@tsg.ne.jp>
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]).
18561 * node.c (dump_node), gc.c (gc_mark_children, obj_free): bookkeeping.
18563 Mon Dec 26 20:59:51 2011 Yusuke Endoh <mame@tsg.ne.jp>
18565 * node.h, parse.y (lambda, f_larglist): remove NEW_LAMBDA hack.
18566 This is a preparation for keyword argument (see [ruby-core:40290]).
18568 Mon Dec 26 22:01:19 2011 Hiroshi Shirosaki <h.shirosaki@gmail.com>
18570 * io.c (rb_sys_fail_path): move the definition.
18571 Move above for using it in set_binary_mode_with_seek_cur().
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.
18578 And cleanups as below.
18579 Remove unnecessary parentheses of `fptr`.
18580 Use return value of setmode().
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]
18586 Mon Dec 26 17:01:14 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18588 * common.mk (LIBRUBY_A): depends on main.o since r33774.
18589 [ruby-core:41786] [Bug #5796]
18591 Mon Dec 26 13:07:08 2011 NAKAMURA Usaku <usa@ruby-lang.org>
18593 * test/ruby/test_io.rb (TestIO#test_autoclose): Tempfile.new doesn't
18594 accept the block argument.
18596 Mon Dec 26 13:06:52 2011 Shota Fukumori <sorah@tubusu.net>
18598 * lib/test/unit.rb: Avoid zombie processes on "--separate" option
18601 Mon Dec 26 04:01:23 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
18603 * ext/openssl/ossl_cipher.c: Update and complete documentation.
18605 Sun Dec 25 23:16:11 2011 Shota Fukumori <sorah@tubusu.net>
18607 * test/testunit/test_parallel.rb (test_separate): Test for "--separate"
18610 Sun Dec 25 22:39:49 2011 Shota Fukumori <sorah@tubusu.net>
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.
18617 * lib/test/unit/parallel.rb: Fix for above. Now parallel.rb puts
18618 "ready!" for first ready, "ready" for afters.
18620 Sun Dec 25 00:02:15 2011 Luis Lavena <luislavena@gmail.com>
18622 * configure.in: change --with-ntver to --with-winnt-ver to be more
18623 descriptive in the context. [ruby-core:41794]
18625 Sat Dec 24 23:25:15 2011 Luis Lavena <luislavena@gmail.com>
18627 * configure.in: add --with-ntver option to match win32/configure.bat
18628 functionality. Set 0x0501 as default. [ruby-core:35010]
18631 Sat Dec 24 12:38:53 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18633 * proc.c (proc_call): get rid of optimization-out by clang.
18635 * proc.c (rb_proc_call, rb_proc_call_with_block): ditto.
18637 Sat Dec 24 10:56:32 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
18643 Sat Dec 24 06:59:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
18649 Sat Dec 24 01:20:39 2011 Kazuki Tsujimoto <kazuki@callcc.net>
18651 * vm_eval.c (send_internal): PASS_PASSED_BLOCK_TH must be placed
18652 just before calling rb_call0.
18654 * bootstraptest/test_flow.rb: add a test for above.
18656 Sat Dec 24 00:55:16 2011 Tanaka Akira <akr@fsij.org>
18658 * lib/tempfile.rb (Tempfile#initialize): warn if a block is given.
18660 Fri Dec 23 16:14:30 2011 TAKAO Kouji <kouji@takao7.net>
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]
18670 Fri Dec 23 15:59:05 2011 TAKAO Kouji <kouji@takao7.net>
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]
18677 Fri Dec 23 10:14:47 2011 Tanaka Akira <akr@fsij.org>
18679 * test/thread/test_queue.rb (test_thr_kill): show the number of loop
18680 run when the test failed.
18682 Fri Dec 23 09:23:48 2011 Tanaka Akira <akr@fsij.org>
18684 * test/test_pty.rb (test_pty_check_default): call PTY.check until
18685 "cat" command is finished.
18687 Fri Dec 23 06:03:00 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
18689 * common.mk: add "check succeeded" message.
18691 * README, README.ja: follow above change.
18693 Fri Dec 23 06:00:39 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
18695 * ext/bigdecimal/bigdecimal.h: add satisfy cc-mode comment.
18698 Fri Dec 23 00:08:25 2011 Tanaka Akira <akr@fsij.org>
18700 * test/test_pty.rb (test_pty_check_default): "cat" may not terminated
18703 Thu Dec 22 23:37:25 2011 Tanaka Akira <akr@fsij.org>
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.
18708 Thu Dec 22 22:37:45 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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().
18717 Thu Dec 22 00:40:24 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18719 * ext/bigdecimal/bigdecimal.c (VpMult, VpCtoV, VpSqrt): remove assigned
18720 but unused variables.
18722 Wed Dec 21 18:28:22 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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]
18728 Wed Dec 21 12:35:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18730 * ext/bigdecimal/bigdecimal.c (BigDecimal_s_allocate): follow
18731 Allocation Framework. [Bug #5775]
18733 Wed Dec 21 02:25:36 2011 Aaron Patterson <aaron@tenderlovemaking.com>
18735 * ext/psych/emitter.c: fixing clang warnings. Thanks Joey!
18737 Wed Dec 21 01:06:00 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
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
18745 Tue Dec 20 23:50:12 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
18747 * PStore content update perf optimization. Patch by Masaki Matsushita.
18750 * lib/pstore.rb (save_data):
18752 * Delete inadequate Marshal check.
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.
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.
18762 * Compare content size with String#bytesize instead of String#size.
18764 Tue Dec 20 21:00:30 2011 Tadayoshi Funaba <tadf@dotrb.org>
18766 * ext/date/date_core.c: uses to_integer instead.
18767 * test/date/test_switch_hitter.rb: added a test.
18769 Tue Dec 20 15:04:18 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
18771 * Make sure to clear $! when ignoring an exception
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.
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.
18781 * test/openssl/test_pkey_rsa.rb
18782 (test_read_private_key_pem_pw_exception): Test for pem_passwd_cb +
18785 Tue Dec 20 11:49:13 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18787 * test/date/test_date_base.rb (test_jd): tests for
18790 Tue Dec 20 10:20:48 2011 NARUSE, Yui <naruse@ruby-lang.org>
18792 * ext/date/date_core.c (wholenum): fix the type of the return value.
18794 Tue Dec 20 05:03:24 2011 Eric Hodel <drbrain@segment7.net>
18796 * README.ja: Update redmine.ruby-lang.org to bugs.ruby-lang.org
18802 * man/ruby.1: ditto
18804 * tool/install-sh: ditto
18806 Tue Dec 20 02:15:18 2011 Tadayoshi Funaba <tadf@dotrb.org>
18808 * ext/date/date_core.c: [ruby-dev:45008].
18810 Sun Dec 18 18:52:37 2011 Naohisa Goto <ngotogenome@gmail.com>
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]
18817 Sun Dec 18 14:34:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18819 * ext/bigdecimal/bigdecimal.c (Init_bigdecimal): does not follow
18820 allocation framework right now. [ruby-core:41710] [Bug #5773]
18822 Sun Dec 18 12:42:48 2011 Aaron Patterson <aaron@tenderlovemaking.com>
18824 * ext/psych/lib/psych/visitors/to_ruby.rb: BigDecimals can be restored
18826 * ext/psych/lib/psych/visitors/yaml_tree.rb: BigDecimals can be dumped
18828 * test/psych/test_numeric.rb: tests for BigDecimal serialization
18830 Sun Dec 18 12:03:13 2011 Aaron Patterson <aaron@tenderlovemaking.com>
18832 * ext/psych/lib/psych/scalar_scanner.rb: Strings that look like dates
18833 should be treated as strings and not dates.
18835 * test/psych/test_scalar_scanner.rb: corresponding tests.
18837 Sun Dec 18 09:43:21 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18839 * test/thread/test_queue.rb (test_thr_kill): extend timeout.
18840 this test takes a long time at slow machine.
18842 Sun Dec 18 09:36:51 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18844 * test/ruby/envutil.rb (invoke_ruby): remove :timeout option before
18845 pass it to Kernel#spawn.
18847 Fri Dec 16 17:18:38 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18849 * README, README.ja: 'make check' is preferable to 'make test'.
18851 Thu Dec 15 23:16:13 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
18853 * error.c (builtin_type_name): don't return pointer to the buffer of
18854 temporary String object.
18856 Thu Dec 15 17:56:58 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18858 * io.c (argf_type): make typed data.
18860 Thu Dec 15 17:40:28 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18862 * error.c (rb_check_type): fix typo.
18864 Thu Dec 15 14:48:35 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18866 * ext/strscan/strscan.c: use typed data with
18867 onig_region_memsize().
18869 Thu Dec 15 14:33:33 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18871 * error.c (rb_check_typeddata): refine error message with
18872 including expected struct name.
18874 Thu Dec 15 13:15:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18876 * regcomp.c (onig_region_memsize): implemented for memsize_of().
18878 * ext/objspace/objspace.c (memsize_of): use it.
18880 Thu Dec 15 10:44:54 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
18886 Thu Dec 15 10:10:43 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18888 * test/ruby/test_require.rb (test_race_exception): get rid of
18889 not-guaranteed timing issue. [ruby-core:41655] [Bug #5754]
18891 Wed Dec 14 21:58:42 2011 NAKAMURA Usaku <usa@ruby-lang.org>
18893 * test/ruby/test_io_m17n.rb
18894 (TestIO_M17N#test_{read_with_binmode_and_get[cs]}): only for Windows.
18896 Wed Dec 14 19:57:23 2011 NAKAMURA Usaku <usa@ruby-lang.org>
18898 * common.mk,Makefile.in,win32/Makefile.sub (ECHO1): move platform
18899 specific hack from common.mk to Makefile.in (and win32/Makefile.sub).
18902 * lib/mkmf.rb: we can generate Makefile as we like.
18904 Wed Dec 14 19:22:33 2011 NAKAMURA Usaku <usa@ruby-lang.org>
18906 * win32/win32.c, include/ruby/win32.h (rb_w32_fd_is_text): new function.
18908 * win32/win32.c (init_stdhandle): set default mode of stdin as binmode.
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.
18914 * io.c (do_writeconv): set text mode when needed.
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
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
18925 all patches are written by Hiroshi Shirosaki. [ruby-core:41496]
18928 Wed Dec 14 15:28:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18930 * transcode.c (str_encode): about the extension of :fallback
18931 option since 1.9.3.
18933 Wed Dec 14 12:19:59 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18935 * load.c (load_unlock): release loading barrier and then remove it
18936 from loading_table if it is not in-use. [Bug #5754]
18938 * thread.c (rb_barrier_release, rb_barrier_destroy): return
18939 whether any other threads are waiting on it.
18941 Wed Dec 14 11:23:45 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
18947 Wed Dec 14 10:20:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18949 * load.c (load_lock): delete the loading barrier if it has been
18952 * thread.c (rb_barrier_wait): return nil for recursive lock
18953 instead of false, to distinguish it from destroyed barrier.
18955 Wed Dec 14 01:24:55 2011 okkez <okkez000@gmail.com>
18957 * thread_pthread.c (rb_thread_create_timer_thread): fix memory
18958 leak. [ruby-dev:44904] [Bug #5688]
18960 Wed Dec 14 00:01:15 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18962 * parse.y (primary): point method name line. [ruby-core:40936]
18965 Tue Dec 13 23:43:48 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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]
18970 * test/ruby/test_exception.rb (test_exception_in_name_error_to_str):
18971 add a corresponding test.
18973 Tue Dec 13 16:13:29 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
18979 Tue Dec 13 07:30:14 2011 Aaron Patterson <aaron@tenderlovemaking.com>
18981 * lib/webrick/httpresponse.rb (setup_header): 1xx responses
18982 are allowed to have Keep-Alive connections.
18984 * test/webrick/test_httpresponse.rb: corresponding test.
18986 Tue Dec 13 07:13:28 2011 Aaron Patterson <aaron@tenderlovemaking.com>
18988 * lib/webrick/httpresponse.rb (setup_header): 204 and 304 responses
18989 are allowed to have a Keep-Alive connection. [ruby-core:41581]
18991 * test/webrick/test_httpresponse.rb: corresponding test.
18993 Tue Dec 13 06:29:39 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
18995 * parse.y (parser_magic_comment): should pass the proper value.
18996 [ruby-dev:44984][Bug #5753]
18998 Tue Dec 13 05:50:07 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
19004 Mon Dec 12 22:35:39 2011 Shugo Maeda <shugo@ruby-lang.org>
19006 * parse.y (stmt_or_begin): changed the error message for BEGIN not
19007 at toplevel. [ruby-dev:44963] [Bug #5738]
19009 Mon Dec 12 17:29:01 2011 NARUSE, Yui <naruse@ruby-lang.org>
19011 * README: Fixed SupportedPlatforms URL in the README.
19012 patched by eMxyzptlk. https://github.com/ruby/ruby/pull/62
19014 Mon Dec 12 17:26:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
19021 Mon Dec 12 15:41:03 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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
19027 Sun Dec 11 12:19:17 2011 Shugo Maeda <shugo@ruby-lang.org>
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]
19033 Sun Dec 11 11:42:10 2011 Kazuki Tsujimoto <kazuki@callcc.net>
19035 * ext/syslog/syslog.c: fix a typo. [ruby-core:41585] [Bug #5740]
19037 Sun Dec 11 10:48:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19039 * error.c (exit_initialize): deal with true and false as well as
19040 Kernel#exit. [ruby-dev:44951] [Bug #5728]
19042 Sun Dec 11 10:37:47 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
19048 Sun Dec 11 10:34:39 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
19053 Fri Dec 9 19:24:31 2011 NARUSE, Yui <naruse@ruby-lang.org>
19055 * enc/trans/iso-8859-16-tbl.rb: add ISO-8859-16 converter.
19057 * enc/trans/single_byte.trans: ditto.
19059 Fri Dec 9 14:28:40 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
19065 Fri Dec 9 08:00:15 2011 Luis Lavena <luislavena@gmail.com>
19067 * include/ruby/win32.h: undef stat to silence mingw-w64 stat
19068 redefinition warnings (GCC 4.6.3).
19070 Thu Dec 8 23:38:24 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
19072 * variable.c (set_const_visibility): clear inline-cache when constant's
19073 visibility is modified. [ruby-dev:44929]
19075 * test/ruby/test_module.rb (test_private_constants_clear_inlinecache):
19078 Thu Dec 8 23:26:11 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
19084 Thu Dec 8 22:31:13 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
19091 Thu Dec 8 13:26:24 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
19097 Thu Dec 8 13:11:26 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
19103 Thu Dec 8 12:57:50 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19105 * ext/socket/extconf.rb: forgotten to define HAVE_SOCKETPAIR for
19107 fixed test errors on Windows introduced at r33947.
19109 Thu Dec 8 12:11:06 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
19115 Thu Dec 8 07:20:15 2011 Eric Hodel <drbrain@segment7.net>
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]
19121 Thu Dec 8 06:53:10 2011 Eric Hodel <drbrain@segment7.net>
19123 * doc/re.rdoc: Fix example code to match documentation. Patch by
19124 Jarno Lamberg. [Ruby 1.9 - Bug #5624]
19126 Wed Dec 7 19:04:22 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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].
19131 Wed Dec 7 18:55:56 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
19137 * vm.c (vm_set_main_stack): no stack overflow chances after
19138 vm_set_eval_stack().
19140 Wed Dec 7 09:58:15 2011 Eric Hodel <drbrain@segment7.net>
19142 * ext/bigdecimal/bigdecimal.c: Document +@, -@, hash, INFINITY, Nan.
19143 Patch by Sylvain Daubert. [Ruby 1.9 - Feature #5622]
19145 Wed Dec 7 09:48:00 2011 Eric Hodel <drbrain@segment7.net>
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
19151 Wed Dec 7 08:04:31 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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
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.
19160 Tue Dec 6 18:26:33 2011 Tanaka Akira <akr@fsij.org>
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
19168 Tue Dec 6 12:30:41 2011 Tanaka Akira <akr@fsij.org>
19170 * ext/dbm/extconf.rb: detect gdbm_version in libgdbm.
19172 * ext/dbm/dbm.c: make DBM::VERSION more informative for gdbm, qdbm and
19173 Berkeley DB 1.x. [ruby-dev:44944]
19175 Tue Dec 6 07:26:37 2011 Eric Hodel <drbrain@segment7.net>
19177 * range.c: Improve documentation for Range. Patch by Chris Zetter.
19178 [Ruby 1.9 - Bug #5656]
19180 Mon Dec 5 19:08:04 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19182 * regparse.c (PFETCH_READY): separate gcc specific trick.
19184 Mon Dec 5 19:01:59 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19186 * process.c (proc_seteuid_m): fix argument.
19188 * test/ruby/test_process.rb (test_geteuid): fix typo.
19190 * test/ruby/test_process.rb (test_getegid, test_set[eg]uid): add.
19192 Mon Dec 5 18:56:55 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
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.
19211 * signal.c (reserved_signal_p): static.
19213 Mon Dec 5 14:27:23 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19215 * include/ruby/{subst.h,win32.h}, ext/socket/rubysocket.h: revert
19216 r33876. [ruby-core:41475] [Bug #5706]
19218 * ext/socket/extconf.rb: the alternative hack for [Bug #5675].
19220 Mon Dec 5 10:18:45 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
19229 Sun Dec 4 22:53:12 2011 Tanaka Akira <akr@fsij.org>
19231 * lib/tempfile.rb: don't use lock directory. [ruby-dev:39197]
19233 Sun Dec 4 22:34:43 2011 Tanaka Akira <akr@fsij.org>
19235 * lib/tempfile.rb (Tempfile::MAX_TRY): remove unused constant.
19237 Sun Dec 4 12:11:28 2011 Kazuki Tsujimoto <kazuki@callcc.net>
19239 * lib/pp.rb: fix rdoc.
19241 Sun Dec 4 12:03:16 2011 NARUSE, Yui <naruse@ruby-lang.org>
19243 * lib/delegate.rb (Delegator#methods): Kernel#methods receives
19244 zero or one argument. [ruby-core:37118] [Bug #4882]
19246 Sun Dec 4 10:15:00 2011 Luis Lavena <luislavena@gmail.com>
19248 * ext/zlib/zlib.c (rb_gzreader_initialize): use binary mode by default
19249 under Windows. Patch by Hiroshi Shirosaki. [ruby-core:40706]
19252 * include/ruby/encoding.h (void rb_econv_binmode): define NEWLINE
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.
19267 * test/ruby/test_io_m17n.rb (EOT): add test for pipe and stdin in
19270 * win32/win32.c (init_stdhandle): remove O_BINARY from stdhandle
19272 * win32/win32.c (rb_w32_write): use FTEXT mode accordingly.
19274 Sat Dec 3 20:49:16 2011 Yusuke Endoh <mame@tsg.ne.jp>
19276 * variable.c (set_const_visibility): print a warning when no argument
19277 is passwd to Module#private_constant. [ruby-list:48558]
19279 * vm_method.c (set_method_visibility): ditto for
19280 Module#private_class_method.
19282 Sat Dec 3 20:43:14 2011 Yusuke Endoh <mame@tsg.ne.jp>
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]
19288 * test/ruby/test_module.rb: add a test for above.
19290 Sat Dec 3 07:17:29 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19292 * Makefile.in (CFLAGS): append ARCH_FLAG.
19294 * configure.in (ARCH_FLAG): exclude from CFLAGS.
19296 * configure.in (UNIVERSAL_INTS): include short int. fix for
19299 Fri Dec 2 15:48:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19301 * ext/bigdecimal/bigdecimal.c (VpAllocReal): reduce extra frac.
19303 Fri Dec 2 15:41:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19305 * configure.in: check whether -pie or -Wl,-pie is valid as
19306 LDFLAGS. [ruby-core:41438] [Bug#5697]
19308 * configure.in: use $linker_flag for LDFLAGS option which is not
19309 limited to particular platforms.
19311 Thu Dec 1 23:21:58 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
19313 * thread_pthread.c (thread_timer): call prctl(PR_SET_NAME) only if
19314 PR_SET_NAME is available.
19316 Thu Dec 1 22:31:16 2011 Tanaka Akira <akr@fsij.org>
19318 * io.c (linux_get_maxfd): change local variable name.
19320 Thu Dec 1 16:59:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19322 * ext/socket/extconf.rb: add arguments for macro calls.
19323 [ruby-core:41370] [Bug#5681]
19325 Thu Dec 1 16:20:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19327 * lib/mkmf.rb (MakeMakefile#try_func): fix broken patch at r33834.
19329 Thu Dec 1 14:43:17 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19331 * ext/bigdecimal/bigdecimal.h (Real): suppress false warning from
19332 clang. [ruby-core:41418] [Bug#5693]
19334 Thu Dec 1 10:31:55 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19336 * configure.in (LDFLAGS): -fstack-protector is always needed to
19337 link static library created with it. [ruby-core:41387]
19340 Thu Dec 1 07:03:51 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
19346 Wed Nov 30 23:35:45 2011 NARUSE, Yui <naruse@ruby-lang.org>
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]
19352 Wed Nov 30 20:02:02 2011 Martin Duerst <duerst@it.aoyama.ac.jp>
19354 * transcode.c: Simplified rb_econv_binmode, avoided a warning on cygwin.
19356 Wed Nov 30 08:57:07 2011 Eric Hodel <drbrain@segment7.net>
19358 * lib/mkmf.rb: Use MakeMakefile's rm_f to avoid conflict with Rake or
19360 * test/ruby/test_module.rb: Hide MakeMakefile's inclusion in Object
19362 Wed Nov 30 09:12:43 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19364 * lib/rdoc/encoding.rb (RDoc::Encoding.read_file): fixup newline chars
19366 see https://github.com/rdoc/rdoc/issues/87
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.
19373 Wed Nov 30 09:09:37 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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.
19379 Tue Nov 29 09:07:59 2011 Eric Hodel <drbrain@segment7.net>
19381 * lib/mkmf.rb: Fix indentations of constants at end of module.
19382 Document some constants.
19384 Tue Nov 29 09:58:23 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19386 * io.c (rb_write_error2): suppress unused variable warning.
19388 Tue Nov 29 07:45:26 2011 Eric Hodel <drbrain@segment7.net>
19390 * lib/mkmf.rb: Wrap comments to 78 columns and clean up formatting.
19392 Tue Nov 29 05:54:18 2011 Eric Hodel <drbrain@segment7.net>
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
19399 Tue Nov 29 00:08:57 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
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.
19407 Reported by Rainer Orth <ro AT cebitec.uni-bielefeld.de>,
19408 patch by George Koehler <xkernigh AT netscape.net>.
19410 Mon Nov 28 22:26:31 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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
19417 Mon Nov 28 12:57:29 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19419 * io.c (rb_write_error2): fwrite() returns ssize_t.
19421 Mon Nov 28 12:47:19 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19423 * parse.y (nodetype, nodeline): static. these functions are for
19424 debugging, and not intend to be public.
19426 Mon Nov 28 12:37:54 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19428 * gc.c (initial_params): static. it seems to be forgotten at r33501.
19430 Mon Nov 28 12:32:24 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19432 * include/ruby/win32.h, win32/win32.c (GetCurrentThreadHandle): remove
19435 Mon Nov 28 12:29:20 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19437 * win32/mkexports.rb (Exports#initialize): remove old symbol name.
19439 Mon Nov 28 12:15:28 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19441 * win32/mkexports.rb (Exports#read_substitution): need to read
19442 from subst.h too. [Bug #5675]
19444 Mon Nov 28 11:46:35 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19446 * io.c (rb_io_flush): release GVL during fsync() on Windows.
19448 Mon Nov 28 11:00:25 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19450 * include/ruby/subst.h: typo of r33876.
19452 Mon Nov 28 10:36:00 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19454 * include/ruby/subst.h: moved Windows specific substitutions from
19457 * ext/socket/rubysocket.h: include ruby/subst.h. [Bug #5675]
19459 Mon Nov 28 10:20:58 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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]
19466 Mon Nov 28 09:28:30 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19468 * win32/win32.c (rb_w32_uchmod): typo. [Bug#5671] [ruby-dev:44898]
19470 * test/ruby/test_file.rb (TestFile#test_chmod_m17n): test of above bug.
19472 Sun Nov 27 21:25:33 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19474 * configure.in: added -fno-strict-overflow. it suppress annoying
19475 -Wstrict-overflow warning.
19477 Sun Nov 27 20:58:02 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
19484 Sun Nov 27 19:09:02 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19486 * configure.in (stack_protector): disable on mingw. [Bug#5676]
19488 * Makefile.in (DLDFLAGS): also needs -fstack-protector.
19491 Sun Nov 27 14:13:33 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19493 * configure.in: add -fstack-protector into XLDFLAGS as well as
19494 XCFLAGS if stack-protector is used.
19496 Sun Nov 27 13:09:25 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19498 * configure.in: workaround to avoid MacOS X build error.
19499 Maybe autoconf 2.61 is slightly buggy. [ruby-core:41316]
19501 Sun Nov 27 04:57:11 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
19507 Sun Nov 27 04:55:45 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
19513 Sun Nov 27 00:16:07 2011 Tanaka Akira <akr@fsij.org>
19515 * io.c (copy_stream_body): use 0666 for permission argument for open.
19518 Sat Nov 26 23:01:38 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
19520 * test/openssl/test_engine.rb: remove side effect of generic engine
19521 load by explicitly loading software-based "openssl" engine for
19524 Sat Nov 26 20:41:48 2011 NARUSE, Yui <naruse@ruby-lang.org>
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]
19530 * lib/net/http.rb (Net::HTTP.post_form): ditto.
19532 Sat Nov 26 20:01:18 2011 NARUSE, Yui <naruse@ruby-lang.org>
19534 * lib/net/http.rb (Net::HTTP::SSL_ATTRIBUTES): refix 33701.
19535 store instance variable symbol names.
19537 Sat Nov 26 15:40:25 2011 URABE Shyouhei <shyouhei@ruby-lang.org>
19539 * .travis.yml (script): should be ./configure
19541 Sat Nov 26 15:39:18 2011 URABE Shyouhei <shyouhei@ruby-lang.org>
19543 * .travis.yml (before_script): wrong name, sorry.
19545 Sat Nov 26 15:31:34 2011 URABE Shyouhei <shyouhei@ruby-lang.org>
19547 * .travis.yml (before-script): autoconf required.
19549 Sat Nov 26 15:24:05 2011 URABE Shyouhei <shyouhei@ruby-lang.org>
19551 * .travis.yml: Travis enable.
19553 Sat Nov 26 10:47:50 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
19560 Sat Nov 26 10:22:28 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
19562 * ext/openssl/ossl_ssl.c: add comment on where to find implementation
19563 of OpenSSL::SSL::SSLSocket#session.
19565 Sat Nov 26 05:00:25 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19567 * configure.in (--no-undefined): RUBY_TRY_CFLAGS does nothing for
19568 linker flags. use RUBY_TRY_LDFLAGS.
19570 Fri Nov 25 11:37:07 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
19577 Fri Nov 25 10:39:14 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
19583 Fri Nov 25 08:48:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19585 * configure.in: turn on PIE if --enable-shared is not specified.
19587 Fri Nov 25 08:05:07 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19589 * configure.in: add -fstack-protector. It help to protect us from
19590 stack smashing attack.
19592 Fri Nov 25 08:03:28 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19594 * configure.in: add -D_FORTIFY_SOURCE=2. It provide some compile
19595 time and runtime check for security.
19597 Fri Nov 25 08:00:23 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
19603 Fri Nov 25 07:46:09 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19605 * configure.in: add -Wall always.
19607 Thu Nov 24 20:02:40 2011 Tanaka Akira <akr@fsij.org>
19609 * test/openssl/test_engine.rb: use IO#reopen to restore stderr.
19611 Thu Nov 24 19:59:56 2011 Tanaka Akira <akr@fsij.org>
19613 * io.c (rb_io_reopen): re-initialize buffering mode for stdout and
19616 Thu Nov 24 11:12:48 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
19623 Thu Nov 24 10:05:02 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
19625 * test/openssl/test_engine.rb: Suppress output from 'openssl'
19626 engine's RC4 cipher.
19627 [Bug #5633] [ruby-core:41026]
19629 Thu Nov 24 08:05:02 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
19631 * ext/openssl/ossl_pkey_dsa.c: remove redundant colon from error
19633 * ext/openssl/ossl_ssl.c: ditto.
19634 * ext/openssl/ossl_pkey_rsa: ditto.
19635 patched by Eric Hodel [Bug #5604] [ruby-core:40896]
19637 Wed Nov 23 20:03:43 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
19648 Tue Nov 22 18:07:32 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19650 * win32/win32.c (_pioinfo): need to declare _pioinfo() before using
19651 _osfhnd and other macros which uses _pioinfo() internally.
19653 Tue Nov 22 17:49:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19655 * win32/win32.c (_pioinfo): make an inline function.
19657 Tue Nov 22 11:26:08 2011 NARUSE, Yui <naruse@ruby-lang.org>
19659 Tue Nov 22 11:33:58 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19661 * win32/win32.c (dupfd): argument of _osfhnd and so on should not
19664 Tue Nov 22 11:26:08 2011 NARUSE, Yui <naruse@ruby-lang.org>
19666 * bignum.c (rb_big_divide): refix of r33536. Don't change behavior of Bignum#/.
19667 [ruby-core:40429] [Bug #5490]
19669 Tue Nov 22 10:46:57 2011 NARUSE, Yui <naruse@ruby-lang.org>
19671 * numeric.c (ruby_float_step): improve floating point calculations.
19672 [ruby-core:35753] [Bug #4576]
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]
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]
19682 Tue Nov 22 06:59:21 2011 Tanaka Akira <akr@fsij.org>
19684 * test/ruby/test_io.rb (test_fcntl_dupfd): there is no known platform
19685 which don't have F_DUPFD. [ruby-dev:44874]
19687 Tue Nov 22 04:46:22 2011 Aaron Patterson <aaron@tenderlovemaking.com>
19689 * ext/psych/lib/psych.rb: remove autoload from psych
19690 * ext/psych/lib/psych/json.rb: ditto
19692 Tue Nov 22 00:44:59 2011 Tanaka Akira <akr@fsij.org>
19694 * test/ruby/test_io.rb (test_fcntl_dupfd): the argument of F_DUPFD is
19695 minimum file descriptor.
19697 Tue Nov 22 00:25:17 2011 Tanaka Akira <akr@fsij.org>
19699 * io.c (linux_get_maxfd): get rid of a warning.
19701 Mon Nov 21 23:39:14 2011 Tanaka Akira <akr@fsij.org>
19703 * io.c (linux_get_maxfd): new function to find maximum fd on Linux.
19704 (rb_close_before_exec): use linux_get_maxfd.
19706 Mon Nov 21 06:16:24 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
19713 Sun Nov 20 23:22:42 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19715 * ext/extmk.rb (extract_makefile, extmake): regenerate makefiles
19716 if globbed source file list is changed.
19718 * lib/mkmf.rb (create_makefile): store ORIG_SRCS.
19720 Sun Nov 20 22:43:03 2011 NARUSE, Yui <naruse@ruby-lang.org>
19722 * enc/unicode.c (PROPERTY_NAME_MAX_SIZE): +1.
19723 reported by Ken Takata. [ruby-dev:44894][Bug #5652]
19725 Sun Nov 20 11:01:28 2011 Tanaka Akira <akr@fsij.org>
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]
19731 Sun Nov 20 04:01:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19733 * Makefile.in (enc/unicode/name2ctype.h): remove duplicated
19736 Sat Nov 19 19:31:47 2011 Tanaka Akira <akr@fsij.org>
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]
19742 Sat Nov 19 16:36:57 2011 Tanaka Akira <akr@fsij.org>
19744 * test/net/http/test_http.rb: remove temporally files in ensure clause.
19746 Sat Nov 19 08:18:41 2011 Tanaka Akira <akr@fsij.org>
19748 * test/net/http/test_http.rb: remove temporally files.
19750 Fri Nov 18 17:18:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19752 * ext/io/console/console.c (console_raw, console_set_raw)
19753 (console_getch): optional parameters. [EXPERIMENTAL]
19755 Fri Nov 18 16:12:11 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19757 * ext/io/console/console.c (console_cooked, console_set_cooked):
19758 new methods to reset cooked mode. [EXPERIMENTAL]
19760 Fri Nov 18 13:20:26 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19762 * test/unit/assertions.rb (MINI_DIR): quick dirty hack to get rid of
19763 warnings when using assert/assert_respond_to.
19765 Fri Nov 18 13:03:38 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19767 * io.c (rb_cloexec_open): set O_NOINHERIT instead of O_CLOEXEC if it is
19768 available (for Windows).
19770 * win32/win32.c (fcntl): on F_DUPFD, determine the inheritance of the
19771 new handle by O_NOINHERIT flag of original fd.
19773 Fri Nov 18 08:00:41 2011 Ryan Davis <ryand-ruby@zenspider.com>
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.
19779 Thu Nov 17 20:43:34 2011 Tanaka Akira <akr@fsij.org>
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].
19784 Thu Nov 17 20:23:03 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
19789 Thu Nov 17 10:36:46 2011 Aaron Patterson <aaron@tenderlovemaking.com>
19791 * ext/psych/lib/psych.rb (load_file): make sure opened yaml files are
19792 also closed. [ruby-core:41088]
19794 Wed Nov 16 18:13:52 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19796 * Makefile.in (LIBRUBY_A): check if generated linked library is
19799 Wed Nov 16 13:51:40 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
19805 Wed Nov 16 12:02:47 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
19811 * test/webrick/test_filehandler.rb
19812 (WEBrick::TestFileHandler#test_script_disclosure): ditto.
19814 Wed Nov 16 11:34:20 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19816 * io.c (argf_next_argv): wrong timing of setting ecflags.
19817 fixed the failure of TestArgf#test_textmode introduced at r33662.
19819 Wed Nov 16 10:45:00 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19821 * ext/-test-/num2int/num2int.c: remove an unnecessary and wrong decl
19822 of rb_stdout. it's declared in ruby.h correctly.
19824 Wed Nov 16 10:26:41 2011 NAKAMURA Usaku <usa@ruby-lang.org>
19826 * bignum.c (rb_big2ull): add a cast to get rid of a VC++ warning.
19828 Wed Nov 16 09:39:27 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
19835 Wed Nov 16 06:34:30 2011 Tanaka Akira <akr@fsij.org>
19837 * test/ruby/test_thread.rb (test_condvar_timed_wait): use
19840 Tue Nov 15 21:56:25 2011 Tanaka Akira <akr@fsij.org>
19842 * test/ruby/test_sleep.rb (test_sleep_5sec): 0.1sec tolerance is too
19843 small for busy environment.
19845 Tue Nov 15 20:08:55 2011 Tanaka Akira <akr@fsij.org>
19847 * io.c, thread.c, ext/pty/pty.c, ext/fiddle/closure.c: use
19848 __linux__ macro for consistency.
19850 Tue Nov 15 14:45:15 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19852 * include/ruby/ruby.h(NUM2LONG, NUM2INT, NUM2SHORT, NUM2LL,
19853 INT2NUM, UINT2NUM, LONG2NUM, ULONG2NUM, NUM2CHR): wrap by
19856 Tue Nov 15 13:38:14 2011 Naohisa Goto <ngotogenome@gmail.com>
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.
19864 Tue Nov 15 13:11:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
19872 Tue Nov 15 09:58:25 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19874 * test/ruby/test_io.rb (TestIO#test_fcntl_dupfd): fix OpenBSD test
19875 failure. [ruby-dev:44872]
19877 Tue Nov 15 09:50:21 2011 NARUSE, Yui <naruse@ruby-lang.org>
19879 * regcomp.c (print_indent_tree): fix double printing of ENCLOSE_OPTION
19880 children bug. patched by Suraj Kurapati. [ruby-core:40964]
19882 Tue Nov 15 01:53:48 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
19884 * test/ruby/test_io.rb (test_fcntl_dupfd): fix test error on
19885 SnowLeopard. Pointed out by CHIKANAGA Tomoyuki. [ruby-dev:44866]
19887 Mon Nov 14 22:06:02 2011 Tanaka Akira <akr@fsij.org>
19889 * ext/openssl/ossl_pkey.c (ossl_pkey_new_from_file): set close-on-exec
19892 * ext/openssl/ossl_x509cert.c (rb_fd_fix_cloexec): ditto.
19894 Mon Nov 14 14:54:17 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
19901 Mon Nov 14 14:52:54 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19903 * numeric.c (rb_fix2ushort): fix typo. use num rb_num2ushort()
19904 instead of num2uint().
19906 Sun Nov 13 10:31:03 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19908 * include/ruby/ruby.h: add #ifdef comment.
19910 Sun Nov 13 10:28:18 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19912 * include/ruby/ruby.h: add NUM2SHORT(), NUM2USHORT() macros.
19913 * numeric.c: ditto.
19915 * test/-ext-/num2int/test_num2int.rb: add testcases for NUM2SHORT().
19916 * ext/-test-/num2int/num2int.c: ditto.
19918 Sun Nov 13 10:23:48 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
19924 Sun Nov 13 10:22:44 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19926 * test/-ext-/num2int/test_num2int.rb (class TestNum2int):
19929 Sun Nov 13 09:57:29 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19931 * numeric.c (check_uint): fix off-by-one bug of NUM2UINT.
19932 * bignum.c (rb_big2ulong): fix off-by-one bug of NUM2ULONG.
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.
19940 Sun Nov 13 23:47:29 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19942 * ext/dbm/extconf.rb: use convertible_int.
19944 Sun Nov 13 23:45:57 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19946 * lib/mkmf.rb (checking_for): should not modify the result.
19948 * lib/mkmf.rb (have_struct_member): accept compiler options.
19950 * lib/mkmf.rb (convertible_int): add restricted support of struct
19951 member, and TYPEOF_ macro.
19953 Sun Nov 13 23:21:24 2011 Tanaka Akira <akr@fsij.org>
19955 * ext/gdbm/gdbm.c (fgdbm_reorganize): set close-on-exec flag after
19956 gdbm_reorganize(). gdbm_reorganize() opens a new database internally.
19958 Sun Nov 13 19:57:18 2011 Tanaka Akira <akr@fsij.org>
19960 * ext/dbm/extconf.rb: rollback for each headers for each libraries.
19962 Sun Nov 13 16:24:48 2011 Tanaka Akira <akr@fsij.org>
19964 * ext/dbm/extconf.rb: treat libc as a choice for a library which
19967 Sun Nov 13 15:40:43 2011 Tanaka Akira <akr@fsij.org>
19969 * ext/dbm/extconf.rb: duplicate $libs and $defs when save them.
19971 Sun Nov 13 12:43:48 2011 Tanaka Akira <akr@fsij.org>
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.
19977 Sat Nov 12 21:14:51 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
19983 Sat Nov 12 20:57:29 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
19985 * test/ruby/test_io.rb (test_fcntl_dupfd): skip if Fcntl::DUPFD
19986 is not defined. Pointed out by CHIKANAGA Tomoyuki. Thanks.
19988 Sat Nov 12 17:26:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19990 * io.c (do_ioctl, ioctl_narg_len, setup_narg, rb_ioctl): use
19993 Sat Nov 12 17:01:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
19995 * ext/dbm/extconf.rb (headers.db_check): reduce duplicated code.
19997 Sat Nov 12 15:59:42 2011 Tanaka Akira <akr@fsij.org>
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.
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.
20006 Sat Nov 12 13:35:33 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
20008 * bootstraptest/runner.rb: don't suppress SIGINT.
20009 [Feature #5612] [ruby-dev:44856]
20011 Sat Nov 12 11:20:36 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
20013 * io.c (fcntl_narg_len): introduce narg calculation for fcntl instead
20015 * io.c (setup_narg): ditto.
20017 Sat Nov 12 11:19:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
20019 * test/ruby/test_io.rb (test_fcntl_dupfd): add another fcntl test.
20021 Sat Nov 12 11:18:17 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
20023 * test/ruby/test_io.rb (test_fcntl_lock_freebsd): add a testcase
20024 of fcntl lock for freebsd.
20026 Sat Nov 12 11:16:32 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
20028 * io.c (ioctl_narg_len): Linux doesn't have IOCPARM_LEN macro, but
20029 has _IOC_SIZE. support it.
20031 Sat Nov 12 11:13:18 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
20038 Sat Nov 12 11:06:02 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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
20048 Sat Nov 12 11:00:42 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
20057 Sat Nov 12 10:59:49 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
20059 * io.c (setup_narg): fix off by one bug.
20061 Sat Nov 12 10:56:43 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
20063 * io.c (+setup_narg): factor out length calculation logic.
20064 * io.c (rb_io_ctl): ditto.
20066 Sat Nov 12 10:52:17 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
20072 Fri Nov 11 23:00:46 2011 Tanaka Akira <akr@fsij.org>
20074 * ext/dbm/extconf.rb: db_prefix is not required now.
20076 Fri Nov 11 21:13:30 2011 Tanaka Akira <akr@fsij.org>
20078 * ext/gdbm/gdbm.c (fgdbm_initialize): use GDBM_CLOEXEC if available.
20080 Fri Nov 11 21:00:05 2011 Tanaka Akira <akr@fsij.org>
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.
20087 Fri Nov 11 18:41:57 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20089 * process.c (proc_seteuid): separate an internal wrapper function
20090 from the method implementation.
20092 Fri Nov 11 17:21:15 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20094 * lib/mkmf.rb (have_library, find_library, have_func): allow
20095 arguments of function to be checked.
20097 Fri Nov 11 17:09:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20099 * vm_dump.c (HAVE_BACKTRACE): fallback to 0.
20101 * vm_dump.c (rb_vm_bugreport): show "Other runtime information"
20102 header only when available.
20104 * vm_dump.c (rb_vm_bugreport): get rid of modifying the content of
20107 * vm_dump.c (rb_vm_bugreport): check if vm is non-null.
20108 Pointed out by Ikegami Daisuke <ikegami.da@gmail.com>.
20111 Fri Nov 11 12:36:37 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
20113 * io.c (pipe_open): Remove fflush(stdin). it's no effect.
20114 Pointed out by Ikegami Daisuke <ikegami.da@gmail.com>.
20117 Fri Nov 11 07:33:30 2011 Eric Hodel <drbrain@segment7.net>
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.
20123 Thu Nov 10 15:02:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20125 * lib/mkmf.rb (have_library, have_func, have_var, have_header):
20126 add compiler option parameter.
20128 Thu Nov 10 07:45:16 2011 Eric Hodel <drbrain@segment7.net>
20130 * ext/openssl/lib/openssl/ssl.rb (class OpenSSL::SSL::SSLContext):
20131 Document #set_params.
20133 Wed Nov 9 11:36:53 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
20135 * thread_pthread.c (gvl_yield): don't prevent concurrent sched_yield().
20136 [Bug #5130] [ruby-core:38647]
20138 Wed Nov 9 23:20:22 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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
20144 * io.c (rb_sysopen): max fd is updated in rb_sysopen_internal()
20147 Wed Nov 9 22:13:38 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20149 * test/ruby/test_file.rb (TestFile#test_utime_with_minus_time_segv):
20150 fixed previous commit.
20152 Wed Nov 9 19:53:45 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20154 * test/ruby/test_file.rb (TestFile#test_utime_with_minus_time_segv):
20155 add test for r33685.
20157 Wed Nov 9 19:00:44 2011 Koichi Sasada <ko1@atdot.net>
20159 * test/ruby/test_fiber.rb: add tests for r33684 (Fiber#resume).
20161 Wed Nov 9 16:40:49 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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]
20167 Thu Nov 9 13:17:25 2011 Koichi Sasada <ko1@atdot.net>
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.
20174 * NEWS: add information about this change.
20176 Wed Nov 9 11:40:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20178 * template/Doxyfile.tmpl (INCLUDE_PATH): add srcdir and include.
20179 [ruby-core:40843] [Bug #5597]
20181 Wed Nov 9 11:02:54 2011 NARUSE, Yui <naruse@ruby-lang.org>
20183 * thread.c (do_select): fix cast, tv_sec is time_t.
20185 Wed Nov 9 10:32:20 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20187 * configure.in: should not use test -e for portability.
20188 [ruby-core:40841] [Bug #5594]
20190 Wed Nov 9 04:52:16 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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
20199 Tue Nov 8 23:34:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20201 * ext/dbm/dbm.c (fdbm_fetch, fdbm_key, fdbm_delete, fdbm_store)
20202 (fdbm_has_key, fdbm_has_value): get rid of overflow.
20204 * ext/gdbm/gdbm.c (rb_gdbm_fetch2, rb_gdbm_nextkey)
20205 (rb_gdbm_delete, fgdbm_store, fgdbm_has_key): ditto.
20207 * ext/dbm/dbm.c (fdbm_delete_if): hide intermediate objects.
20209 * ext/gdbm/gdbm.c (fgdbm_delete_if): ditto.
20211 * ext/dbm/extconf.rb: check size of datum.dsize to get rid of
20214 Tue Nov 8 23:30:21 2011 NARUSE, Yui <naruse@ruby-lang.org>
20216 * addr2line.c (PATH_MAX): define if not defined. [ruby-core:40840]
20218 Tue Nov 8 23:26:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20220 * ext/tk/tcltklib.c (rb_thread_critical): fix type.
20222 * ext/tk/tcltklib.c (eventloop_sleep, lib_eventloop_core): int is
20223 enough for micro seconds. may need to check overflow in the
20226 * ext/tk/tcltklib.c (RSTRING_LENINT): check overflow if necessary.
20228 * ext/tk/tcltklib.c (RbTk_ALLOC_N): wrapper for ckalloc() which
20231 * ext/tk/tcltklib.c (ip_ruby_cmd_receiver_get, tcltklib_compile_info):
20234 * ext/tk/tcltklib.c (tcltklib_compile_info): constified.
20236 Tue Nov 8 20:50:45 2011 Tanaka Akira <akr@fsij.org>
20238 * test/dbm/test_dbm.rb: split tests for read only database.
20240 * test/gdbm/test_gdbm.rb: ditto.
20242 Tue Nov 8 18:59:07 2011 Tanaka Akira <akr@fsij.org>
20244 * ext/pty/pty.c (MasterDevice): define only when used.
20245 (SlaveDevice): ditto.
20248 Tue Nov 8 17:59:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20250 * include/ruby/ruby.h (rb_long2int): define as a macro always, so
20251 that cpp conditionals can tell if it is provided.
20253 Tue Nov 8 17:30:50 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20255 * lib/mkmf.rb (cpp_command): remove multiple -arch flags since cpp
20258 Tue Nov 8 14:50:55 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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
20264 Tue Nov 8 11:01:04 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
20270 Tue Nov 8 02:36:45 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20272 * include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_READ_MASK,
20273 ECONV_NEWLINE_DECORATOR_WRITE_MASK): new macro.
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.
20279 * io.c (make_writeconv): drop decorators for reading.
20281 * io.c (make_readconv): drop decorators for writing.
20283 * io.c (do_writeconv): existing writeconv is not the condition to raise
20284 ArgumentError. should check textmode or not.
20286 * test/ruby/test_io_m17n.rb
20287 (TestIO_M17N#test_{cr,lf,crlf}_decorator_on_stdout): test above
20290 Mon Nov 7 22:03:47 2011 Tanaka Akira <akr@fsij.org>
20292 * ext/gdbm/gdbm.c (fgdbm_initialize): set close-on-exec flag.
20294 Mon Nov 7 20:31:52 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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.
20300 Mon Nov 7 20:26:37 2011 Aaron Patterson <aaron@tenderlovemaking.com>
20302 * test/psych/test_yamlstore.rb: make test case inherit from MiniTest,
20303 load psych/helper so that psych is loaded.
20305 Mon Nov 7 20:18:29 2011 Aaron Patterson <aaron@tenderlovemaking.com>
20307 * test/psych/test_yamldbm.rb: Test case should inherit from MiniTest,
20308 load psych/helper so that psych and friends are loaded.
20310 Mon Nov 7 20:15:44 2011 Tanaka Akira <akr@fsij.org>
20312 * ext/dbm/extconf.rb: check dbm_pagfno() and dbm_dirfno().
20314 * ext/dbm/dbm.c: use above to set close-on-exec flag.
20316 Mon Nov 7 20:05:16 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20318 * io.c (io_fflush): remove fsync().
20320 * io.c (rb_io_flush, rb_io_rewind): fsync() here.
20322 these changes reduces fsync() calls to improve performance.
20323 first reported at [ruby-list:48515] by ak7 at mail.goo.ne.jp .
20326 Mon Nov 7 19:43:10 2011 Tanaka Akira <akr@fsij.org>
20328 * io.c (rb_close_before_exec): use F_MAXFD if available.
20329 F_MAXFD is available on NetBSD since NetBSD 2.0.
20331 Mon Nov 7 19:25:16 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20333 * test/ruby/test_io_m17n.rb
20334 (TestIO_M17N#test_default_stdout_stderr_mode): new test for
20335 r33627-33629. see [backport #5565]
20337 Mon Nov 7 01:14:22 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
20339 * lib/debug.rb: add help for 'pp' and 'r[estart]'. patch
20340 from Sho Hashimoto. [Bug #5093] [ruby-dev:44222]
20342 Sun Nov 6 14:49:58 2011 Tanaka Akira <akr@fsij.org>
20344 * ext/socket/rubysocket.h (rsock_recvmsg): declared.
20346 * ext/socket/ancdata.c (rsock_recvmsg): extracted from
20347 nogvl_recvmsg_func.
20348 (nogvl_recvmsg_func): use rsock_recvmsg.
20350 * ext/socket/unixsocket.c (recvmsg_blocking): use rsock_recvmsg.
20352 Sun Nov 6 03:22:36 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
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.
20357 Sun Nov 6 00:11:52 2011 Tanaka Akira <akr@fsij.org>
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"
20364 Sat Nov 5 20:30:30 2011 Martin Duerst <duerst@it.aoyama.ac.jp>
20366 * insns.def: Some fixes and tweaks to English explanations
20368 Sat Nov 5 19:11:50 2011 Tanaka Akira <akr@fsij.org>
20370 * io.c (rb_cloexec_fcntl_dupfd): don't clear try_dupfd_cloexec if
20371 fcntl(F_DUPFD) failed as fcntl(F_DUPFD_CLOEXEC).
20373 Sat Nov 5 18:05:12 2011 Tanaka Akira <akr@fsij.org>
20375 * ext/socket/socket.c (rsock_socketpair0): refactored.
20377 Sat Nov 5 17:55:52 2011 Tanaka Akira <akr@fsij.org>
20379 * ext/socket/init.c (rsock_socket0): don't clear try_sock_cloexec if
20380 SOCK_CLOEXEC is not a reason for EINVAL.
20382 Sat Nov 5 16:27:52 2011 Kazuki Tsujimoto <kazuki@callcc.net>
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.
20394 Sat Nov 5 15:45:04 2011 Tanaka Akira <akr@fsij.org>
20396 * ext/socket/init.c (rsock_socket0): extract single socket() call with
20397 CLOEXEC handling from rsock_socket.
20399 Sat Nov 5 13:49:40 2011 Kazuki Tsujimoto <kazuki@callcc.net>
20401 * lib/pathname.rb (Pathname#find): return an enumerator if
20404 * test/pathname/test_pathname.rb: add tests for above.
20406 [ruby-dev:44797] [Feature #5572]
20408 Sat Nov 5 11:18:12 2011 Tanaka Akira <akr@fsij.org>
20410 * ext/socket/socket.c (rsock_socketpair0): don't clear
20411 try_sock_cloexec if SOCK_CLOEXEC is not a reason for EINVAL.
20413 Fri Nov 4 14:08:19 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
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.
20420 !!! Keys generated by this code (trunk after 2011-09-01) must be
20421 re-generated !!! (ruby_1_9_3 is safe)
20423 * test/openssl/test_pkey_rsa.rb: Add tests for default exponent and
20424 specifying exponent by a parameter.
20426 Fri Nov 4 01:31:25 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
20428 * test/openssl/test_engine.rb: add first tests for builtin "openssl"
20431 Fri Nov 4 08:41:26 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
20438 Fri Nov 4 04:54:10 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20440 * win32/configure.bat: disable delayed expansion of enironment variable.
20441 [Bug #5517] [ruby-core:40531]
20443 Fri Nov 4 03:45:22 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20445 * io.c (make_writeconv): fixed typo of previous commit.
20447 Fri Nov 4 01:56:30 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
20455 Fri Nov 4 01:04:48 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
20461 * ext/readline/readline.c (hist_set): use history_replace_offset_func.
20463 Fri Nov 4 00:53:35 2011 NARUSE, Yui <naruse@ruby-lang.org>
20465 * ext/readline/readline.c (Init_readline): fix wrong condition.
20467 Thu Nov 3 23:53:04 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20469 * encoding.c (rb_locale_charmap): ignore calling nl_langinfo_codeset()
20470 on Windows except cygwin. [experimental]
20472 Thu Nov 3 22:45:09 2011 Tanaka Akira <akr@fsij.org>
20474 * ext/socket/socket.c (rsock_socketpair0): extracted from
20475 rsock_socketpair to set close-on-exec flag for each socketpair()
20478 Thu Nov 3 22:12:41 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
20480 * ext/socket/init.c (rsock_socket): set close-on-exec flag when
20481 SOCK_CLOEXEC is not available.
20483 Thu Nov 3 08:36:00 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
20485 * test/openssl/test_engine.rb: call Engine::cleanup on exit.
20486 Patch provided by Yui Naruse, thanks!
20487 [Bug #5547] [ruby-core:40669]
20489 Wed Nov 2 21:36:00 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20491 * complex.c (nucomp_rationalize): fix function. [ruby-core:40667]
20494 Wed Nov 2 08:16:45 2011 Tanaka Akira <akr@fsij.org>
20496 * lib/webrick/utils.rb: fix fcntl call.
20498 * lib/drb/unix.rb: ditto.
20500 Wed Nov 2 00:43:59 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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.
20506 Wed Nov 2 00:14:15 2011 Shugo Maeda <shugo@ruby-lang.org>
20508 * test/ruby/test_marshal.rb: renamed methods duplicated with those
20509 of marshaltestlib.rb.
20511 Tue Nov 1 22:08:27 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20513 * configure.in: reject llvm-gcc.
20515 Tue Nov 1 21:39:00 2011 NARUSE, Yui <naruse@ruby-lang.org>
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
20521 Tue Nov 1 19:49:08 2011 Tanaka Akira <akr@fsij.org>
20523 * io.c (rb_io_reopen): call rb_fd_fix_cloexec instead of
20524 rb_maygvl_fd_fix_cloexec.
20526 Tue Nov 1 19:00:30 2011 Tanaka Akira <akr@fsij.org>
20528 * io.c (rb_io_reopen): call rb_maygvl_fd_fix_cloexec after freopen().
20530 Tue Nov 1 17:17:26 2011 NARUSE, Yui <naruse@ruby-lang.org>
20532 * file.c (file_expand_path): reset coderange after expanding path.
20534 Tue Nov 1 14:55:29 2011 NARUSE, Yui <naruse@ruby-lang.org>
20536 * io.c (nogvl_io_cntl): rb_cloexec_fcntl_dupfd's 2nd argument is int.
20538 * process.c (move_fds_to_avoid_crash): ditto.
20540 Tue Nov 1 13:14:33 2011 NARUSE, Yui <naruse@ruby-lang.org>
20542 * vsnprintf.c (BSD_vfprintf): support 'll' prefix.
20544 * vsnprintf.c (__sfeof): rename to avoid the collision with NetBSD's
20547 * vsnprintf.c (__sferror): ditto.
20549 * vsnprintf.c (__sclearerr): ditto.
20551 * vsnprintf.c (__sfileno): ditto.
20553 Tue Nov 1 12:36:16 2011 Tanaka Akira <akr@fsij.org>
20555 * internal.h (rb_maygvl_fd_fix_cloexec): change the visibility for
20558 Tue Nov 1 12:00:53 2011 Tanaka Akira <akr@fsij.org>
20560 * io.c (rb_maygvl_fd_fix_cloexec): renamed from fd_set_cloexec.
20562 * internal.h (rb_maygvl_fd_fix_cloexec): declared.
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.
20568 Tue Nov 1 08:24:40 2011 Tanaka Akira <akr@fsij.org>
20570 * ext/socket/init.c (cloexec_accept): new function to use accept4 if
20572 (rsock_s_accept_nonblock): use cloexec_accept.
20573 (accept_blocking): ditto.
20575 * ext/socket/extconf.rb: check accept4.
20577 Tue Nov 1 07:31:55 2011 Tanaka Akira <akr@fsij.org>
20579 * ext/socket/ancdata.c (nogvl_recvmsg_func): use MSG_CMSG_CLOEXEC if
20582 * ext/socket/unixsocket.c (recvmsg_blocking): ditto.
20584 Tue Nov 1 05:59:41 2011 Tanaka Akira <akr@fsij.org>
20586 * ext/socket/socket.c (rsock_socketpair): use SOCK_CLOEXEC if
20589 Tue Nov 1 02:56:17 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
20597 * ruby.c (load_file): change the type of the 2nd parameter to pass its
20598 encoding to load_file_internal().
20600 * ruby.c (process_options, rb_load_file): follow above change.
20601 NOTE: we should pass encoding information to rb_load_file().
20603 Mon Oct 31 23:49:38 2011 Tanaka Akira <akr@fsij.org>
20605 * ext/socket/socket.c (rsock_socketpair): extracted from
20606 rsock_sock_s_socketpair.
20608 Mon Oct 31 23:31:53 2011 Tanaka Akira <akr@fsij.org>
20610 * ext/socket/init.c (rsock_socket): use SOCK_CLOEXEC if available.
20612 Mon Oct 31 21:47:44 2011 NARUSE, Yui <naruse@ruby-lang.org>
20614 * io.c (rb_cloexec_pipe): NetBSD 6.0 will support pipe2(2),
20615 but its return value is -1 or larger than 0.
20617 Mon Oct 31 22:04:54 2011 Tanaka Akira <akr@fsij.org>
20619 * ext/dbm/dbm.c (fdbm_initialize): use O_CLOEXEC if available.
20621 Mon Oct 31 21:47:48 2011 Tanaka Akira <akr@fsij.org>
20623 * include/ruby/intern.h (rb_fd_fix_cloexec): renamed from
20626 * io.c: follow the above renaming.
20628 * ext/pty/pty.c: ditto.
20630 * ext/socket/init.c: ditto.
20632 * ext/socket/socket.c: ditto.
20634 * ext/socket/ancdata.c: ditto.
20636 * ext/socket/unixsocket.c: ditto.
20638 Mon Oct 31 21:02:43 2011 Tanaka Akira <akr@fsij.org>
20640 * lib/resolv.rb (Resolv::DNS): retry IO.select for premature wakeup.
20642 Mon Oct 31 20:14:22 2011 Tanaka Akira <akr@fsij.org>
20644 * io.c (fd_set_cloexec): clear CLOEXEC flag for standard file
20646 (rb_cloexec_dup): use rb_cloexec_fcntl_dupfd.
20647 (rb_cloexec_fcntl_dupfd): use F_DUPFD_CLOEXEC if available.
20649 Mon Oct 31 19:14:11 2011 Tanaka Akira <akr@fsij.org>
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.
20655 Mon Oct 31 13:10:06 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20657 * win32/win32.c (setfl): extract from fcntl().
20659 * win32/win32.c (dupfd): new function to support F_DUPFD. based on a
20660 patch written by akr.
20662 * win32/win32.c (fcntl): use above functions.
20664 * include/ruby/win32.h (F_DUPFD): define. [experimental]
20666 * include/ruby/win32.h (F_SETFL): change the value to correspond with
20669 Mon Oct 31 12:37:50 2011 Tanaka Akira <akr@fsij.org>
20671 * ext/pty/pty.c (get_device_once): use O_CLOEXEC for posix_openpt if
20674 Mon Oct 31 12:05:24 2011 Tanaka Akira <akr@fsij.org>
20676 * io.c (rb_cloexec_dup2): check oldfd == newfd at first.
20677 pointed by KOSAKI Motohiro. [ruby-dev:44713]
20679 Mon Oct 31 10:50:26 2011 NAKAMURA Usaku <usa@ruby-lang.org>
20681 * io.c (rb_cloexec_fcntl_dupfd): this function needs F_DUPFD.
20683 * io.c (nogvl_io_cntl): use rb_cloexec_fcntl_dupfd() only if the
20684 platform has F_DUPFD.
20686 Mon Oct 31 00:50:00 2011 Luis Lavena <luislavena@gmail.com>
20688 * configure.in: check -fno-omit-frame-pointer acceptance and usage
20689 under MinGW. [ruby-core:39957] [Bug #5407]
20691 Mon Oct 31 00:16:11 2011 Tanaka Akira <akr@fsij.org>
20693 * include/ruby/intern.h (rb_cloexec_fcntl_dupfd): declared.
20695 * io.c (rb_cloexec_fcntl_dupfd): new function.
20696 (nogvl_io_cntl): use rb_cloexec_fcntl_dupfd.
20698 * process.c (move_fds_to_avoid_crash): use rb_cloexec_fcntl_dupfd.
20700 Sun Oct 30 22:46:46 2011 Tanaka Akira <akr@fsij.org>
20702 * configure.in: check pipe2.
20704 * io.c (rb_cloexec_pipe): use pipe2 if available.
20706 Sun Oct 30 22:32:44 2011 Tanaka Akira <akr@fsij.org>
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]
20711 Sun Oct 30 21:12:47 2011 Tanaka Akira <akr@fsij.org>
20713 * include/ruby/intern.h (rb_cloexec_pipe): declared.
20715 * io.c (rb_cloexec_pipe): new function.
20716 (rb_pipe): use rb_cloexec_pipe.
20718 * thread_pthread.c (rb_thread_create_timer_thread): use
20721 Sun Oct 30 20:06:07 2011 Tanaka Akira <akr@fsij.org>
20723 * io.c (rb_cloexec_dup): refine control flow.
20724 (rb_cloexec_dup2): ditto.
20726 Sun Oct 30 18:45:50 2011 Tanaka Akira <akr@fsij.org>
20728 * ruby.c (fill_standard_fds): new function to open closed standard
20730 (ruby_sysinit): call fill_standard_fds.
20732 Sun Oct 30 10:50:36 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20734 * tool/rbinstall.rb (install_recursive, bin-comm): split mere
20735 string not path name. [ruby-core:40462] [Bug #5492]
20737 Sun Oct 30 10:47:20 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20739 * io.c (rb_cloexec_dup, rb_cloexec_dup2): CLOEXEC has been set if
20742 Sun Oct 30 09:58:48 2011 Tanaka Akira <akr@fsij.org>
20744 * io.c (rb_cloexec_dup): don't allocate standard file descriptors.
20746 Sun Oct 30 08:29:51 2011 Tanaka Akira <akr@fsij.org>
20748 * io.c (rb_cloexec_dup2): don't set CLOEXEC for standard file
20751 Sun Oct 30 07:47:10 2011 Tanaka Akira <akr@fsij.org>
20753 * configure.in: check dup3.
20755 * io.c (rb_cloexec_dup2): use dup3 if available.
20757 Sat Oct 29 22:06:37 2011 Tanaka Akira <akr@fsij.org>
20759 * include/ruby/intern.h (rb_cloexec_dup2): declared.
20761 * io.c (rb_cloexec_dup2): new function.
20762 (io_reopen): use rb_cloexec_dup2.
20764 Sat Oct 20 21:08:18 2011 Tajima Akio <artonx@yahoo.co.jp>
20766 * win32/Makefile.sub (CONFIG_H): have stdint.h if VC2010.
20769 Sat Oct 29 20:59:08 2011 Tanaka Akira <akr@fsij.org>
20771 * io.c (rb_cloexec_dup): use F_DUPFD_CLOEXEC if available.
20773 Sat Oct 29 20:00:26 2011 Tanaka Akira <akr@fsij.org>
20775 * include/ruby/intern.h (rb_cloexec_dup): declared.
20777 * io.c (rb_cloexec_dup): new function.
20778 (ruby_dup): use rb_cloexec_dup.
20780 * ext/pty/pty.c (pty_getpty): use rb_cloexec_dup.
20782 * ext/openssl/ossl_bio.c (ossl_obj2bio): ditto.
20784 Sat Oct 29 16:11:34 2011 Tanaka Akira <akr@fsij.org>
20786 * ext/sdbm/_sdbm.c (sdbm_prep): use O_CLOEXEC if available.
20788 Sat Oct 29 14:26:56 2011 Tanaka Akira <akr@fsij.org>
20790 * io.c (rb_cloexec_open): use O_CLOEXEC if available.
20792 Sat Oct 29 12:57:15 2011 Tanaka Akira <akr@fsij.org>
20794 * process.c (ruby_setsid): use rb_cloexec_open.
20795 (rb_daemon): ditto.
20797 * ruby.c (load_file_internal): ditto.
20799 * file.c (rb_file_s_truncate): ditto.
20800 (file_load_ok): ditto.
20802 * random.c (fill_random_seed): ditto.
20804 * ext/pty/pty.c (chfunc): ditto.
20805 (get_device_once): ditto.
20807 * ext/io/console/console.c (console_dev): ditto.
20809 Sat Oct 29 10:40:19 2011 Tanaka Akira <akr@fsij.org>
20811 * include/ruby/intern.h (rb_cloexec_open): declared.
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
20819 Sat Oct 29 09:05:07 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20821 * thread_pthread.h: no Structured Exception Handling like macros.
20822 [ruby-core:40432] [Bug #5491]
20824 Fri Oct 28 22:05:34 2011 Tanaka Akira <akr@fsij.org>
20826 * ext/sdbm/_sdbm.c: RCS $Id$ removed.
20828 Thu Oct 27 18:58:00 2011 NARUSE, Yui <naruse@ruby-lang.org>
20830 * parse.y (parser_nextc): set encoding for the buffer of ripper.
20832 Fri Oct 28 06:06:08 2011 Tanaka Akira <akr@fsij.org>
20834 * ext/sdbm/_sdbm.c (sdbm_prep): set FD_CLOEXEC flags for file
20836 (fd_set_cloexec): new function.
20838 Fri Oct 28 03:01:27 2011 Aaron Patterson <aaron@tenderlovemaking.com>
20840 * vm_insnhelper.c (vm_call_cfunc): adding back useless hack. For some
20841 reason, this fixes CFP errors on OS X 10.7.
20843 Fri Oct 28 00:09:31 2011 Tanaka Akira <akr@fsij.org>
20845 * ext/sdbm/_sdbm.c (sdbm_prep): refactored for less nesting.
20847 Thu Oct 27 18:28:18 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20849 * configure.in (RUBY_DEFINE_IF): revert r33534 partially to get
20850 rid of AS_ECHO which is not available in autoconf 2.61.
20853 Thu Oct 27 16:10:46 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20855 * bignum.c (rb_big_divide): raise ZeroDivisionError if divisor is
20856 zero, as well as Fixnum. [ruby-core:40429] [Bug #5490]
20858 Thu Oct 27 14:56:22 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20860 * configure.in (RUBY_FUNC_ATTRIBUTE): unset temporary variable.
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]
20866 Thu Oct 27 09:57:56 2011 NARUSE, Yui <naruse@ruby-lang.org>
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]
20871 Thu Oct 27 08:47:38 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
20873 * ext/psych/parser.c: remove unused variable.
20875 Thu Oct 27 08:38:41 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
20877 * ext/openssl/extconf.rb: add -Wall flag by default when compiler is
20880 Wed Oct 26 15:24:25 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20882 * file.c (rb_file_join): honor input encodings than ASCII-8BIT.
20883 [ruby-core:40338] [Bug #5483]
20885 Tue Oct 25 21:52:31 2011 Tanaka Akira <akr@fsij.org>
20887 * include/ruby/defines.h: use "__sparc" instead of "sparc" and
20894 Tue Oct 25 06:34:39 2011 Eric Hodel <drbrain@segment7.net>
20896 * re.c (match_aref): Use <code> around indexing examples to prevent
20897 hyperlinks. [ruby-talk:389396]
20899 Mon Oct 24 23:55:31 2011 Tanaka Akira <akr@fsij.org>
20901 * complex.c: use "__sun" instead of "__sun__" to detect SunOS.
20909 * ext/io/wait/wait.c: ditto.
20913 Mon Oct 24 22:45:37 2011 Tanaka Akira <akr@fsij.org>
20915 * io.c: use "__sun" instead of "sun" to detect SunOS.
20921 * ext/sdbm/_sdbm.c: ditto.
20925 Mon Oct 24 22:38:08 2011 Tanaka Akira <akr@fsij.org>
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
20930 reported by Naohisa GOTO. [ruby-dev:44688] [Bug #5475]
20932 Mon Oct 24 08:18:14 2011 Tanaka Akira <akr@fsij.org>
20934 * io.c (copy_stream_fallback_body): check nil for EOF of read method.
20935 patch by Eric Wong. [ruby-core:39134] [Bug #5237]
20937 Sun Oct 23 18:21:23 2011 Kazuki Tsujimoto <kazuki@callcc.net>
20939 * ext/tk/MANUAL_tcltklib.eng: fix typo.
20941 Sun Oct 23 18:03:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
20943 * numeric.c (rb_infinity, rb_nan): aggregated member initializers
20946 Sun Oct 23 16:43:43 2011 Naohisa Goto <ngotogenome@gmail.com>
20948 * ext/io/wait/wait.c: ioctl(2) is declared in unistd.h on Solaris.
20950 Sun Oct 23 16:33:35 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
20952 * ext/tk/MANUAL_tcltklib.eng: fix typo. reported by Mimura-san.
20953 [ruby-dev:44683] [Bug #5471]
20955 Sun Oct 23 08:01:29 2011 Tanaka Akira <akr@fsij.org>
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]
20960 Sat Oct 22 19:48:50 2011 Tanaka Akira <akr@fsij.org>
20962 * test/openssl/test_ssl.rb (test_multibyte_read_write): start server
20963 for each length to avoid race condition.
20965 Sat Oct 22 18:49:24 2011 Tanaka Akira <akr@fsij.org>
20967 * include/ruby/intern.h (rb_fd_set_cloexec): declared.
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.
20973 (io_reopen): ditto.
20976 * process.c (rb_f_exec): change the default :close_others option to
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.
20984 * thread_pthread.c (rb_thread_create_timer_thread): call
20985 rb_fd_set_cloexec to set close-on-exec flag.
20987 * ruby.c (load_file_internal): ditto.
20989 * file.c (rb_file_s_truncate): ditto.
20990 (file_load_ok): ditto.
20992 * random.c (fill_random_seed): ditto.
20994 * ext/pty/pty.c (chfunc): ditto.
20995 (get_device_once): ditto.
20997 * ext/openssl/ossl_bio.c (ossl_obj2bio): ditto.
20999 * ext/socket/init.c (rsock_socket): ditto.
21000 (rsock_s_accept_nonblock): ditto.
21001 (rsock_s_accept): ditto.
21003 * ext/socket/socket.c (rsock_sock_s_socketpair): ditto.
21005 * ext/socket/ancdata.c (discard_cmsg): ditto.
21006 (make_io_for_unix_rights): ditto.
21008 * ext/socket/unixsocket.c (unix_recv_io): ditto.
21010 * ext/io/console/console.c (console_dev): ditto.
21012 [ruby-core:38140] [Feature #5041]
21014 Sat Oct 22 17:46:27 2011 Tanaka Akira <akr@fsij.org>
21016 * lib/resolv.rb: fix a exception name in previous patch.
21018 Sat Oct 22 17:43:33 2011 Tanaka Akira <akr@fsij.org>
21020 * lib/resolv.rb: make timeout configurable for DNS query.
21021 patch by Eric Wong. [ruby-core:38533] [Feature #5100]
21023 Sat Oct 22 02:07:48 2011 Naohisa Goto <ngotogenome@gmail.com>
21025 * numeric.c (rb_infinity, rb_nan): use union to prevent bus error
21026 caused by misalignment. [Bug #5469] [ruby-dev:44657]
21028 * include/ruby/missing.h (INFINITY, NAN): ditto
21030 Fri Oct 21 22:02:17 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21032 * gc.c (initial_params): pack in a struct.
21034 * gc.c (rb_gc_set_params): set parameters always.
21035 [ruby-dev:44648] [Bug #5467]
21037 Fri Oct 21 12:10:20 2011 Naohisa Goto <ngotogenome@gmail.com>
21039 * atomic.h: change Solaris checking macro because atomic_ops can work
21040 not only with Sun Studio but also with Fujitsu C Compiler.
21042 Fri Oct 21 02:11:00 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
21044 * ext/openssl/ossl_ns_spki.c: Complete documentation.
21045 * test/openssl/test_ns_spki.rb: Integrate SPKI#to_text.
21047 Thu Oct 20 22:47:28 2011 NAKAMURA Usaku <usa@ruby-lang.org>
21049 * win32/win32.c (socklist_insert, socklist_lookup, socklist_delete):
21050 new functions to wrap of st_insert(), st_lookup() and st_delete() to
21052 allocating socklist is deferred until it is really needed.
21054 * win32/win32.c (exit_handler): delete socklist only if it is
21057 * win32/win32.c (rb_w32_sysinit, StartSockets): refactoring: move
21058 initialization of select_mutex to StartSockets().
21060 * win32/win32.c (exit_handler): refactoring: delete select_mutex only
21061 if winsock is used.
21063 Thu Oct 20 22:38:53 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
21065 * ext/openssl/ossl_pkcs5.c: add note on timing attacks and general
21068 Thu Oct 20 21:19:15 2011 Naohisa Goto <ngotogenome@gmail.com>
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]
21074 Thu Oct 20 13:09:35 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21076 * include/ruby/defines.h (flush_register_windows): use software
21077 trap on Debian Sparc 32-bit userspace. [Bug #5244]
21079 Thu Oct 20 12:28:22 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
21081 * test/openssl/test_pkcs5.rb: add RFC 6070 tests for PBKDF2 with
21084 Thu Oct 20 11:42:23 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21086 * util.c (mmprepare): fix for fragmental size.
21088 * util.c (mmswap_, mmrot3_): portability improvement.
21090 Thu Oct 20 05:58:02 2011 Eric Hodel <drbrain@segment7.net>
21092 * ext/openssl/ossl_ns_spki.c (Init_ossl_ns_spki): Stub documentation
21095 Thu Oct 20 05:13:39 2011 Ryan Davis <ryand-ruby@zenspider.com>
21097 * lib/minitest/*: Imported minitest 2.6.2 (r6712)
21098 * test/minitest/*: ditto
21100 Thu Oct 20 06:55:32 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
21102 * lib/openssl/buffering.rb: Force multi-byte strings to be treated as
21104 * test/openssl/test_ssl.rb: Add test for it.
21106 Thanks to Niklas Baumstark for reporting the issue!
21108 [Ruby 1.9 - Bug #5233] [ruby-core:39120]
21110 Wed Oct 19 17:06:54 2011 Yukihiro Matsumoto <matz@ruby-lang.org>
21112 * version.h (RUBY_VERSION): finally declare start of 2.0 work!
21114 Wed Oct 19 11:48:44 2011 Eric Hodel <drbrain@segment7.net>
21116 * error.c (Init_Exception): Document $! and $@. Provide
21117 recommendations for creating exceptions for a library.
21119 Wed Oct 19 11:25:46 2011 Eric Hodel <drbrain@segment7.net>
21121 * error.c (Init_Exception): Add hierarchy of Exception subclasses.
21122 Based on patch by Sylvain Daubert. [Ruby 1.9 - Bug #5438]
21124 Wed Oct 19 11:04:47 2011 Eric Hodel <drbrain@segment7.net>
21126 * enum.c: Reformat block args to a single standard, { |args| ... }.
21127 Patch by b t. [Ruby 1.9 - Bug #5393]
21129 Wed Oct 19 12:11:26 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
21131 * ext/openssl/ossl_ssl.c: Remove set, but unused variables.
21132 ext/openssl/ossl_pkey.c: ditto
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
21139 Tue Oct 18 23:28:53 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21141 * hash.c (identhash): share with type_numhash.
21143 * st.c (st_hashtype_num): rename from type_numhash.
21145 Tue Oct 18 23:07:30 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21147 * vm_core.h (ruby_current_thread): probeprofiler has been removed
21150 Tue Oct 18 23:05:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21152 * ext/ripper/eventids2.c (ripper_init_eventids2): separate
21153 initializations of IDs and objects.
21155 * ext/ripper/tools/generate.rb (generate_eventids1): ditto.
21157 * parse.y (Init_ripper, InitVM_ripper): fix inversed roles.
21159 Sun Oct 16 19:46:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21161 * ext/bigdecimal/bigdecimal.gemspec (files): fixed typo, and
21162 removed nonexistent file.
21164 * ext/bigdecimal/bigdecimal.gemspec (homepage): added.
21166 * ext/io/console/io-console.gemspec (homepage): ditto.
21168 Fri Oct 14 12:13:57 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21170 * ext/pty/pty.c (pty_check): should return nil until the child
21171 terminates or stops. [ruby-dev:44600] [Bug #2642]
21173 Fri Oct 14 11:19:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21175 * include/ruby/intern.h (rb_ary_rotate): export.
21177 Fri Oct 14 05:58:05 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21179 * atomic.h (ATOMIC_INC, ATOMIC_DEC): return old values.
21180 [ruby-dev:44596] [Bug #5439]
21182 * signal.c (ruby_atomic_exchange): no needs to define on the
21183 platforms where atomic.h is available.
21185 Thu Oct 13 19:29:40 2011 Naohisa Goto <ngotogenome@gmail.com>
21187 * atomic.h (ATOMIC_*): use atomic_ops(3C) when SunStudio on Solaris.
21188 [ruby-dev:44596] [Bug #5439]
21190 Thu Oct 13 18:13:04 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
21192 * atomic.h(ATOMIC_SET): add cast to void to prevent misuse.
21193 [ruby-dev:44596] [Bug #5439]
21195 Thu Oct 13 18:04:27 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
21201 Wed Oct 12 23:39:58 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
21203 * test/openssl/test_ssl.rb: Move duplicated tests for SSL::Session to
21204 test_ssl_session.rb
21206 Tue Oct 11 08:49:40 2011 Eric Hodel <drbrain@segment7.net>
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
21215 Tue Oct 11 07:55:38 2011 Eric Hodel <drbrain@segment7.net>
21217 * array.c: Add a description to Array, minor cleanups. Patch by
21218 Andrea Singh. [Ruby 1.9 - Bug #5412]
21220 Tue Oct 11 06:09:52 2011 Eric Hodel <drbrain@segment7.net>
21222 * lib/pp.rb: Move PP documentation to top of class PP. Patch by
21223 Sylvain Daubert. [Ruby 1.9 - Bug #5430]
21225 Tue Oct 11 06:06:29 2011 Eric Hodel <drbrain@segment7.net>
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]
21231 Tue Oct 11 05:53:23 2011 Eric Hodel <drbrain@segment7.net>
21233 * object.c (Init_Object): Add reference to BasicObject, brief
21234 explanation of constant lookup. Based on patch by Alvaro Pereyra
21236 [Ruby 1.9 - Bug #5426]
21238 Sun Oct 9 11:06:52 2011 Kazuki Tsujimoto <kazuki@callcc.net>
21240 * test/psych/test_yamldbm.rb: don't run test if the system
21241 don't support yaml/dbm.
21243 * test/syck/test_yamldbm.rb: ditto.
21245 Sat Oct 8 08:54:56 2011 Eric Hodel <drbrain@segment7.net>
21247 * enum.c (group_by): Improve group_by description. Patch by b t.
21250 Sat Oct 8 03:17:51 2011 Eric Hodel <drbrain@segment7.net>
21252 * lib/shell.rb: Document some methods of Shell. Patch by Carol
21253 Nichols. [Ruby 1.9 - Bug #5417]
21255 Fri Oct 7 17:54:28 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21257 * lib/test/unit/assertions.rb (assert_send, assert_not_send):
21258 parenthesize non-empty arguments.
21260 Fri Oct 7 06:35:50 2011 Eric Hodel <drbrain@segment7.net>
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.
21266 Thu Oct 6 18:46:23 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
21268 * vm_eval.c (make_no_method_exception): fix typo.
21270 * vm_insnhelper.c, vm_insnhelper.h: ditto.
21272 Thu Oct 6 16:29:30 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21274 * vm_eval.c (make_no_method_execption): extract from
21275 raise_method_missing().
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]
21281 * vm_insnhelper.c (vm_call_method): remove inadvertent symbol
21282 creation from send and __send__, too.
21284 Thu Oct 6 14:59:11 2011 Eric Hodel <drbrain@segment7.net>
21286 * lib/time.rb: Clean up Time documentation. Patch by Jake Goulding.
21287 [Ruby 1.9 - Bug #5416]
21289 Thu Oct 6 10:00:54 2011 Eric Hodel <drbrain@segment7.net>
21291 * enum.c (group_by): Improve documentation based on patch by b t.
21293 Thu Oct 6 09:56:30 2011 Eric Hodel <drbrain@segment7.net>
21295 * enum.c: Clean up wording in Enumerable documentation. Patch by b t.
21296 [Ruby 1.9 - Bug #5411]
21298 Thu Oct 6 09:17:18 2011 Eric Hodel <drbrain@segment7.net>
21300 * time.c (Init_Time): Remove editorial comments from Time
21301 documentation, fix link.
21303 Thu Oct 6 09:14:20 2011 Eric Hodel <drbrain@segment7.net>
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]
21310 Thu Oct 6 08:54:05 2011 Eric Hodel <drbrain@segment7.net>
21312 * random.c: Improve documentation of Random. Patch by Gregory
21313 Parkhurst. [Ruby 1.9 - Bug #5410]
21315 Thu Oct 6 01:44:51 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
21317 * cont.c (cont_mark): mark original Thread object from saved_thread.
21318 [ruby-dev:44571] [Bug #5386]
21320 Wed Oct 5 16:33:04 2011 NARUSE, Yui <naruse@ruby-lang.org>
21322 * vm_insnhelper.c (vm_call_cfunc): remove useless hack.
21324 Wed Oct 5 05:56:39 2011 Eric Hodel <drbrain@segment7.net>
21326 * hash.c (Init_Hash): Improve Hash documentation. Patch by Alvaro
21327 Pereyra Rabanal. [Ruby 1.9 - Bug #5405]
21329 Wed Oct 5 05:47:59 2011 Eric Hodel <drbrain@segment7.net>
21331 * random.c (Init_Random): Add a top-level comment for Random. Patch
21332 by Brett Bim. [Ruby 1.9 - Bug #5403]
21334 Wed Oct 5 02:50:27 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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
21340 * test/psych/test_exception.rb: corresponding tests.
21342 Wed Oct 5 01:52:16 2011 Aaron Patterson <aaron@tenderlovemaking.com>
21344 * ext/psych/parser.c (parse): Use context_mark for indicating error
21347 Wed Oct 5 01:22:08 2011 Aaron Patterson <aaron@tenderlovemaking.com>
21349 * ext/psych/lib/psych/scalar_scanner.rb: use normal begin / rescue
21350 since postfix rescue cannot receive the exception class. Thanks
21353 Tue Oct 4 21:10:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21355 * class.c (class_alloc): allocate extra memory after containing
21356 object setup to get rid of rare-but-potential memory leak.
21358 * gc.c (gc_mark_children): skip marking extended members if ptr is
21361 Tue Oct 4 16:17:50 2011 NARUSE, Yui <naruse@ruby-lang.org>
21363 * lib/time.rb (Time.strptime): use Time.at if d[:seconds] is set.
21364 Reported by Christopher Eberz. [ruby-core:39903] Bug #5399
21366 Tue Oct 4 11:44:10 2011 NARUSE, Yui <naruse@ruby-lang.org>
21368 * gc.c (rb_gc_set_params): ruby_verbose can be Qnil, so use RTEST.
21370 Tue Oct 4 08:33:41 2011 Eric Hodel <drbrain@segment7.net>
21372 * ext/etc/etc.c: Document Etc, Etc.sysconfdir, Etc.systmpdir. Patch
21373 by mathew murphy. [Ruby 1.9 - Bug #5396]
21375 Tue Oct 4 08:21:51 2011 Eric Hodel <drbrain@segment7.net>
21377 * lib/shellwords.rb: Update toplevel comment with an example. Patch
21378 by Samnang Chhun. [Ruby 1.9 - Bug #5388]
21380 Tue Oct 4 08:15:50 2011 Eric Hodel <drbrain@segment7.net>
21382 * proc.c (proc_call): Update documentation to match argument handling
21383 of proc/Proc.new/lambda/->()
21385 Tue Oct 4 07:59:16 2011 Eric Hodel <drbrain@segment7.net>
21387 * proc.c (proc_call): Fix documentation of Proc#call vs Proc#===.
21388 [Ruby 1.9 - Bug #5349]
21390 Tue Oct 4 07:43:18 2011 Eric Hodel <drbrain@segment7.net>
21392 * array.c (rb_ary_initialize): Make Array.new description match
21393 call-seq. Patch by Henry Maddocks. [Ruby 1.9 - Bug #5344]
21395 Tue Oct 4 07:35:23 2011 Eric Hodel <drbrain@segment7.net>
21397 * array.c (rb_ary_initialize): Add output for examples. Patch by
21398 Jonathan Mukai. [Ruby 1.9 - Bug #5216]
21400 Tue Oct 4 07:30:50 2011 Eric Hodel <drbrain@segment7.net>
21402 * array.c (rb_ary_s_create): Add example results for Array::[]. Patch
21403 by Jonathan Mukai. [Ruby 1.9 - Bug #5215]
21405 Tue Oct 4 07:15:17 2011 Eric Hodel <drbrain@segment7.net>
21407 * lib/rubygems: Update to RubyGems 1.8.11. Move Deprecate into the
21410 Tue Oct 4 06:43:47 2011 Aaron Patterson <aaron@tenderlovemaking.com>
21412 * ext/psych/lib/psych.rb: update psych version.
21413 * ext/psych/psych.gemspec: generate new gemspec for new version.
21415 Tue Oct 4 06:29:55 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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
21424 Tue Oct 4 06:20:19 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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.
21430 Tue Oct 4 05:59:24 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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.
21437 Tue Oct 4 05:47:23 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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.
21444 Mon Oct 3 23:56:39 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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]
21450 * test/ruby/test_gc.rb (test_gc_parameter): add test for it.
21452 Sun Oct 2 20:05:32 2011 Kazuki Tsujimoto <kazuki@callcc.net>
21454 * vm.c (rb_thread_mark), cont.c (cont_mark): revert r33369 and r33371
21455 that may cause SEGV in certain environments.
21457 Sun Oct 2 12:14:06 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21459 * test/psych/test_yamldbm.rb: add test case.
21460 * test/syck/test_yamldbm.rb: ditto.
21462 Sun Oct 2 11:28:09 2011 Aaron Patterson <aaron@tenderlovemaking.com>
21464 * lib/yaml/store.rb: make initialize method signature match the
21465 superclass signature.
21467 Sun Oct 2 10:44:01 2011 Kazuki Tsujimoto <kazuki@callcc.net>
21469 * io.c: fix documentation of ARGF.lineno=.
21471 Sat Oct 1 20:03:19 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21473 * lib/mkmf.rb (have_framework): try as Objective-C.
21474 https://twitter.com/nagachika/status/120294447660539904
21476 Sun Oct 2 08:43:25 2011 Kazuki Tsujimoto <kazuki@callcc.net>
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]
21482 Sun Oct 2 00:42:14 2011 Kazuki Tsujimoto <kazuki@callcc.net>
21484 * vm.c (rb_thread_mark): rb_thread_t needs self to be marked.
21485 [ruby-dev:44566] [Bug #5386]
21487 Sat Oct 1 09:48:53 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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]
21493 * test/ruby/test_gc.rb (test_gc_parameter): add test for it.
21495 * test/ruby/envutil.rb (assert_normal_exit): add :child_env option to
21496 enable pass environment variables to child process.
21498 Thu Sep 29 13:17:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21500 * array.c (ary_join_1): should not copy the encoding of non-string
21501 element after string element. [ruby-core:39776] [Bug #5379]
21503 Thu Sep 29 11:53:56 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21505 * gc.c (slot_sweep, rb_gc_finalize_deferred)
21506 (rb_objspace_call_finalizer, rb_gc): run finalizers
21507 sequentially. [ruby-dev:44562]
21509 Thu Sep 29 20:37:38 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21511 * ext/gdbm/gdbm.c (rb_gdbm_fatal): adjust argument type.
21513 Thu Sep 29 20:10:42 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21515 * gc.c (is_id_value, is_live_object): extract from id2ref().
21517 * gc.c (run_finalizer): use object instead of object id.
21519 Thu Sep 29 20:07:36 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21521 * use RB_TYPE_P which is optimized for constant types, instead of
21522 comparison with TYPE.
21524 Wed Sep 28 09:20:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
21530 Wed Sep 28 04:41:35 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21532 * test/psych/test_yamlstore.rb: use tmpdir for tmpfile.
21533 * test/syck/test_yamlstore.rb: ditto.
21535 Wed Sep 28 04:10:46 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21537 * ext/bigdecimal/README: update report to.
21539 Tue Sep 28 04:05:00 2011 Kenta Murata <mrkn@mrkn.jp>
21541 * ext/bigdecimal/bigdecimal_en.html: removed because this file isn't
21544 * ext/bigdecimal/bigdecimal_ja.html: ditto.
21546 Tue Sep 27 09:55:40 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
21548 * thread_pthread.c: make native_fd_select().
21549 * thread.c (do_select): remove #ifdef _WIN32. Instead, use
21550 native_fd_select() always.
21552 Tue Sep 27 09:44:59 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
21558 Tue Sep 27 03:50:19 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21560 * test/rexml/test_sax.rb: add require 'rexml/document'.
21562 Tue Sep 27 03:32:27 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21564 * test/psych/test_yamldbm.rb: fix #setup and #teardown.
21565 [Bug #5370] [ruby-core:39730]
21566 * test/syck/test_yamldbm.rb: ditto.
21568 Mon Sep 26 11:27:38 2011 NARUSE, Yui <naruse@ruby-lang.org>
21570 * lib/webrick/httputils.rb: Add MIME Type definition of .js and .svg.
21571 patched by Hal Brodigan. [ruby-core:39704] [Bug #5365]
21573 Mon Sep 26 09:20:44 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
21575 * configure.in: remove DJGPP support. It's not longer supported
21578 Mon Sep 26 09:07:46 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
21580 * include/ruby/defines.h: remove NextStep, OpenStep, Rhapsody
21581 support. Last activity of their OSes are 7 years ago.
21582 * configure.in: ditto.
21584 * ext/tk/extconf.rb: ditto.
21586 Mon Sep 26 09:02:49 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
21588 * configure.in: remove a code for human68k. it's no longer
21589 supported since r19677.
21591 Sun Sep 25 23:43:32 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
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.
21600 Thanks to Hiroshi Yoshida for reporting this bug.
21601 [Bug #5363] [ruby-dev:44542]
21603 Sun Sep 25 20:57:18 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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.
21609 Sun Sep 25 20:54:10 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21611 * lib/yaml/dbm/dbm.rb: fix #update, add #key for using instead #index.
21612 [Bug #5305][ruby-dev:44485]
21614 Sun Sep 25 16:54:33 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21616 * encoding.c (require_enc): reject only loading from untrusted
21617 load paths. [ruby-dev:44541] [Bug #5279]
21619 * transcode.c (load_transcoder_entry): ditto.
21621 Sun Sep 25 16:45:05 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21623 * configure.in: ignore all warnings from an arbitrary
21624 header in /usr/local/include.
21626 Sun Sep 25 03:43:03 2011 NARUSE, Yui <naruse@ruby-lang.org>
21628 * enum.c (slice_before_i): use rb_attr_get to suppress wrong warning
21629 for internal instance variable slicebefore_initial_state.
21631 Fri Sep 23 14:20:14 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
21633 * ext/openssl/ossl_asn1.c: remove unused variable.
21635 Fri Sep 23 13:46:59 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
21637 * test/openssl/test_ssl_session.rb: execute test_session_exts_read
21638 only for OpenSSL versions >= 0.9.8k. Thanks, Eric Wong, for
21640 [Bug #4961] [ruby-core:37726]
21642 Fri Sep 23 11:59:08 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
21648 Thu Sep 22 02:53:19 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21650 * vm_insnhelper.c (vm_call_cfunc): suppress a warning. note that
21651 `volatile type *var' doesn't make var itself volatile.
21653 Thu Sep 22 01:52:48 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
21655 * thread_pthread.c (ubf_select): activate timer thread when interrupt
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.
21662 Wed Sep 21 16:55:26 2011 NAKAMURA Usaku <usa@ruby-lang.org>
21664 * test/io/wait/test_io_wait.rb (TestIOWait#setup): of course, the
21665 behavior of mingw is just same with mswin.
21667 Tue Sep 20 18:08:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21669 * vm_insnhelper.c (vm_get_cvar_base): reduce duplicated checks and
21670 move a warning outside the loop.
21672 Mon Sep 19 18:55:51 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21674 * lib/fileutils.rb (module FileUtils): improve performance of
21675 FileUtils.compare_stream. a patch by Masaki Matsushita.
21676 [Feature #5337] [ruby-core:39622]
21678 Mon Sep 19 18:42:58 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
21688 Mon Sep 19 09:28:06 2011 Eric Hodel <drbrain@segment7.net>
21690 * test/openssl/test_ssl.rb (class OpenSSL): Test
21691 OpenSSL::SSL::SSLSocket#session and #session=.
21693 Mon Sep 19 07:54:17 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
21699 Sat Sep 17 23:34:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
21704 Sat Sep 17 12:44:04 2011 Kazuki Tsujimoto <kazuki@callcc.net>
21706 * lib/find.rb (Find.find): add documentation that Find.find
21707 without block returns an enumerator.
21709 Thu Sep 15 11:39:43 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21711 * gc.c (mark_entry, mark_key, mark_keyvalue): adjust callback
21714 Thu Sep 15 01:44:10 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21716 * ext/tk/*: Change encoding from EUC-JP to UTF-8
21718 Wed Sep 14 11:43:37 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
21720 * thread.c (rb_fd_rcopy): added an argument guard.
21721 Patch by NAKAMURA Usaku. [Bug #5306] [ruby-core:39435]
21723 Tue Sep 13 20:21:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21725 * lib/pstore.rb, test/test_pstore.rb: suppress warnings with -v.
21727 * lib/pstore.rb (PStore): always open in binary mode even if
21728 default encodings are set. [Bug #5311] [ruby-core:39503]
21730 Tue Sep 13 05:37:15 2011 Yukihiro Matsumoto <matz@ruby-lang.org>
21732 * io.c (Init_IO): update BINARY comment. it should not change the
21733 encoding of the result to ASCII-8BIT. [ruby-talk:387719]
21735 Mon Sep 12 19:55:00 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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.
21742 * test/-ext-/old_thread_select/test_old_thread_select.rb
21743 (test_old_select_false_positive): test for bug5306.
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()
21751 Mon Sep 12 13:38:12 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21753 * README.EXT, README.EXT.ja (2.2.2), parse.y (rb_check_id): add
21754 documents for rb_check_id().
21756 Mon Sep 12 12:53:39 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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
21762 Mon Sep 12 12:42:36 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21764 * test/ruby/test_exception.rb (TestException#test_exit_success_p):
21765 assert also the cases when exiting with true and false.
21767 * lib/test/unit/assertions.rb (assert_send): make arguments in
21768 the default message clearer.
21770 Sun Sep 11 05:23:14 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
21772 * lib/matrix.rb: Deal with subclasses of Matrix [redmine #5307]
21774 Sat Sep 10 13:38:20 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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]
21780 Sat Sep 10 08:30:03 2011 Koichi Sasada <ko1@atdot.net>
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]
21786 Sat Sep 10 08:25:47 2011 Yukihiro Matsumoto <matz@ruby-lang.org>
21788 * parse.y (bv_decls): parse.y relies on $$ = $1 before action
21789 routines. a patch from Michael Edgar. [Bug #5303]
21792 Sat Sep 10 01:37:55 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
21794 * sample/drb/dhasenc.rb: coding cookie of Emacs is coding,
21797 * sample/mine.rb: ditto.
21799 Fri Sep 9 21:56:40 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
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]
21805 Fri Sep 9 11:00:55 2011 Shota Fukumori <sorah@tubusu.net>
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].
21813 Fri Sep 9 10:22:03 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21815 * thread.c (rb_thread_select): fix a typo to initialize efds
21816 properly. [Bug #5299] [ruby-core:39380]
21818 Fri Sep 9 02:02:09 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21820 * template/yarvarch.ja:
21821 Change encoding from Shift_JIS to UTF-8
21823 Thu Sep 9 01:14:00 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21825 * sample/drb/README.rd.ja:
21826 * sample/drb/dhasenc.rb:
21828 Change encoding from EUC-JP to UTF-8
21830 Thu Sep 8 21:03:22 2011 NARUSE, Yui <naruse@ruby-lang.org>
21832 * ext/nkf/nkf-utf8/nkf.c: import nkf 2.1.2 (be9c280)
21833 Bump version number/release date only.
21835 Thu Sep 8 12:43:18 2011 Narihiro Nakamura <authornari@gmail.com>
21837 * gc.c (Init_GC): defined GC::Profiler.raw_data. based on the
21838 patch by Eric Hodel. [ruby-core:37857] [Bug #4991]
21840 Thu Sep 8 09:02:53 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21842 * gc.c (id2ref): objects which are unmarked but not in sweep_slots
21845 Thu Sep 8 07:44:25 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21847 * transcode.c (rb_declare_transcoder, load_transcoder_entry): no
21848 longer need to limit the length of transcoder library name.
21850 Thu Sep 8 07:36:36 2011 NARUSE, Yui <naruse@ruby-lang.org>
21852 * ext/syck/lib/syck/types.rb: use toplevel Syck.
21853 for the case someone define Syck::Syck (or YAML::Syck).
21855 Thu Sep 8 07:33:12 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
21861 Wed Sep 8 03:48:00 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21863 * ext/readline/README.ja:
21864 Change encoding from EUC-JP to UTF-8
21866 Wed Sep 8 02:59:00 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21868 * test/rexml/test_encoding.rb:
21869 Add require 'require 'rexml/document'
21871 Wed Sep 8 02:53:00 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21873 * ext/nkf/nkf-utf8/nkf.c:
21874 Change encoding from ISO-2022 to UTF-8
21876 Wed Sep 7 23:41:24 2011 Kouhei Sutou <kou@cozmixng.org>
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!!!
21882 Wed Sep 7 17:27:18 2011 NARUSE, Yui <naruse@ruby-lang.org>
21884 * lib/yaml.rb: explicitly specify ::Object to avoid the collision with
21887 Tue Sep 6 21:06:49 2011 Shota Fukumori <sorah@tubusu.net>
21889 * lib/test/unit.rb (_run_suites): Now reports are written the
21890 following order: Skip, Failure, Error. [Feature #5282]
21892 * test_sorting.rb: test for above.
21894 * test4test_sorting.rb: Ditto.
21896 * lib/test/unit.rb (run): Put RUBY_DESCRIPTION before quitting.
21899 Tue Sep 6 21:13:47 2011 Masaya Tarui <tarui@ruby-lang.org>
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]
21906 Tue Sep 6 15:55:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21908 * transcode.c (load_transcoder_entry): concatenate paths directly.
21910 * encoding.c (load_encoding): predefined encoding names are safe.
21911 [ruby-dev:44469] [Bug #5279]
21913 * transcode.c (load_transcoder_entry): ditto.
21915 Tue Sep 6 12:07:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21917 * transcode.c: enabled econv newline option.
21919 Tue Sep 6 06:44:57 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
21921 * numeric.c (dbl2ival): Fix Float#divmod and #round for 32 bit
21922 platform. part 1 of [bug #5276]
21924 Tue Sep 6 06:44:25 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
21926 * numeric.c (flo_round): Fix criteria for 32 bits platform
21927 part 2 of [bug #5276]
21929 Tue Sep 6 05:37:11 2011 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
21931 * test/rinda/test_rinda.rb (test_core_03_notify): Fixed test failures
21932 [ruby-dev:44430] [Ruby 1.9 - Bug #372]
21934 Mon Sep 5 20:59:30 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
21936 * insns.def: change encoding pragma for emacs (shift_jis to utf-8).
21938 Mon Sep 5 19:32:15 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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]
21944 Mon Sep 5 18:10:56 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21946 * transcode.c (rb_econv_binmode): newline decorators are
21949 Mon Sep 5 15:03:37 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
21955 Mon Sep 5 10:04:35 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21957 * README.ja, README.EXT.ja: resolve conflicts. [ruby-dev:44459]
21959 Mon Sep 5 05:13:22 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
21961 * numeric.c (flo_round): Make Float#round round big values [bug
21964 Mon Sep 5 04:28:25 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
21966 * numeric.c (int_round): Integer#round always returns an Integer [Bug
21969 Sun Sep 4 22:28:50 2011 Shugo Maeda <shugo@ruby-lang.org>
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]
21976 Sun Sep 4 21:19:19 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
21978 * Change encoding from EUC-JP to UTF-8. [Feature #5128]
21980 Sun Sep 4 00:47:39 2011 Kazuki Tsujimoto <kazuki@callcc.net>
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).
21986 Sun Sep 4 00:11:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21988 * variable.c (rb_const_set): show the previous definition
21989 location. [EXPERIMENTAL]
21991 Sat Sep 3 23:56:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
21993 * configure.in (sizeof_struct_dirent_too_small): check if struct
21994 dirent.d_name is too small.
21996 * configure.in (RUBY_MINGW32): take tool prefix from CC.
21998 Sat Sep 3 23:52:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22000 * io.c (argf_next_argv): open in default text mode.
22001 [ruby-core:39234] [Bug #5268]
22003 Sat Sep 3 18:40:57 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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]
22009 * test/thread/test_queue.rb (test_sized_queue_initialize,
22010 test_sized_queue_assign_max): add tests for it.
22012 Fri Sep 2 21:11:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22014 * io.c (validate_enc_binmode, prep_stdio): default to text mode on
22015 dosish platforms. [ruby-core:38822] [Bug #5164]
22017 * transcode.c (rb_econv_prepare_options): keep default ecflags
22018 unchanged if no options.
22020 Fri Sep 2 14:36:47 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22022 * vm_insnhelper.c (vm_search_const_defined_class): search
22023 ancestors only when global scope. [ruby-core:39227] [Bug #5264]
22025 Fri Sep 2 09:58:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
22031 Fri Sep 2 04:05:25 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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.
22037 Fri Sep 2 01:07:14 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22039 * numeric.c (flo_round): substitute machine dependent magic number.
22041 Thu Sep 1 17:31:22 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
22047 Thu Sep 1 16:18:44 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
22049 * Release GVL while OpenSSL's public key generation.
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.
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.
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.
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.
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.
22076 * ext/openssl/ossl_pkey_rsa.c (rsa_generate): ditto.
22078 * ext/openssl/ossl_pkey_dh.c (dh_generate): ditto.
22080 * test/openssl/test_pkey_{dh,dsa,rsa}.rb: Test it.
22082 Thu Sep 1 14:06:54 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
22089 Thu Sep 1 10:20:50 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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
22096 Thu Sep 1 09:27:57 2011 NARUSE, Yui <naruse@ruby-lang.org>
22098 * variable.c (rb_autoloading_value): Fix the order of definitions.
22099 It is used by autoload_defined_p.
22101 Wed Aug 31 17:28:23 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
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.
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
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.
22119 Wed Aug 31 17:20:56 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
22121 * Re-apply r33078, thread-safe autoload which is reverted at r33093.
22123 Wed Aug 31 16:28:04 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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].
22128 Wed Aug 31 15:54:11 2011 NARUSE, Yui <naruse@ruby-lang.org>
22130 * ext/json: Merge json gem v1.5.4 (3dab4c5a6a97fac03dac).
22132 Wed Aug 31 13:09:41 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
22134 * numeric.c (flo_round): Avoid overflow by optimizing for trivial
22137 Wed Aug 31 00:50:01 2011 NAKAMURA Usaku <usa@ruby-lang.org>
22139 * win32/win32.c (rb_w32_select_with_thread): and my typo. we all must
22142 Wed Aug 31 00:48:38 2011 NAKAMURA Usaku <usa@ruby-lang.org>
22144 * thread.c (rb_thread_select): critical typo in r33117.
22146 Wed Aug 31 00:30:49 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
22153 Wed Aug 31 00:04:38 2011 NAKAMURA Usaku <usa@ruby-lang.org>
22155 * ext/-test-/old_thread_select/old_thread_select.c (old_thread_select):
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
22163 Tue Aug 30 23:59:36 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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]
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
22174 Tue Aug 30 22:34:45 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
22176 * test/dl/test_callback.rb (test_callback_with_string): prevents
22177 temporary string from GC.
22179 Tue Aug 30 22:25:38 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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
22185 Tue Aug 30 11:06:19 2011 NARUSE, Yui <naruse@ruby-lang.org>
22187 * ext/json: Merge json gem 1.5.4+ (2149f4185c598fb97db1).
22188 [Bug #5173] [ruby-core:38866]
22190 Tue Aug 30 09:57:50 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
22196 Tue Aug 30 09:48:07 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
22198 * cont.c (fiber_entry): fix stack allocation failure on Debian
22200 Patch by Lucas Nussbaum <lucas at lucas-nussbaum dot net>.
22201 [Bug #5241] [ruby-core:39147]
22203 Tue Aug 30 09:28:01 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
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.
22215 Tue Aug 30 09:08:22 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
22221 Sun Aug 29 23:22:00 2011 Kenta Murata <mrkn@mrkn.jp>
22223 * test/ruby/test_numeric.rb (test_num2long): modify a test against the
22226 Sun Aug 29 09:58:00 2011 Kenta Murata <mrkn@mrkn.jp>
22228 * numeric.c (bit_coerce): A Fixnum and a Bignum are only permitted for
22229 bitwise arithmetic with a Fixnum. #1792
22231 * test/ruby/test_fixnum.rb: add tests for the above change.
22233 * bignum.c (bit_coerce): A Fixnum and a Bignum are only permitted for
22234 bitwise arithmetic with a Bignum. #1792
22236 * test/ruby/test_bignum.rb: add tests for the above change.
22238 Sun Aug 28 15:38:17 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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.
22243 * ext/date/date_parse.c (date_zone_to_diff): get rid of out of bounds
22244 memory read. [ruby-dev:44409] [Bug #5213]
22246 Sun Aug 28 05:29:50 2011 Ryan Davis <ryand-ruby@zenspider.com>
22248 * lib/minitest/*: Imported minitest 2.5.1 (r6596)
22249 * test/minitest/*: ditto
22251 Sat Aug 27 20:46:05 2011 Kazuki Tsujimoto <kazuki@callcc.net>
22253 * vm.c (rb_vm_rewrite_dfp_in_errinfo): change return type
22254 to suppress a warning.
22256 * vm_core.h: ditto.
22258 Sat Aug 27 19:04:06 2011 NARUSE, Yui <naruse@ruby-lang.org>
22260 * internal.h (rb_strftime_timespec): moved from time.c and define only
22261 if ruby/encoding.h is included.
22263 * internal.h (rb_strftime): ditto.
22265 Sat Aug 27 18:53:51 2011 Kazuki Tsujimoto <kazuki@callcc.net>
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).
22271 * vm.c (rb_vm_rewrite_dfp_in_errinfo): new function.
22273 * vm.c (vm_make_env_each): changed accordingly.
22275 * vm_core.h: ditto.
22277 * bootstraptest/test_flow.rb: add tests for above.
22279 Sat Aug 27 18:44:06 2011 NARUSE, Yui <naruse@ruby-lang.org>
22281 * internal.h (rb_strftime_timespec): move to time.c because it depends
22284 Sat Aug 27 18:17:58 2011 NARUSE, Yui <naruse@ruby-lang.org>
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]
22291 * strftime.c (rb_strftime): ditto.
22293 * strftime.c (rb_strftime_timespec): ditto.
22295 * internal.h (rb_strftime_timespec): follow above.
22297 * time.c (rb_strftime_alloc): ditto.
22299 * time.c (strftimev): ditto.
22301 * time.c (time_strftime): ditto.
22303 * time.c (time_to_s): the resulted string of Time#to_s is always
22304 ascii only, so this should be US-ASCII.
22306 * time.c (time_asctime): ditto.
22308 Sat Aug 27 11:18:12 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
22310 * Revert r33078. It caused a Rails application NoMethodError.
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)
22315 Sat Aug 27 08:44:58 2011 Eric Hodel <drbrain@segment7.net>
22317 * lib/rdoc: Import RDoc 3.9.4. Typo and grammar fixes by Luke Gruber.
22318 [Ruby 1.9 - Bug #5203]
22320 Sat Aug 27 07:53:34 2011 Eric Hodel <drbrain@segment7.net>
22322 * lib/open-uri.rb: Fix indentation of OpenURI::OpenRead#open. Use ++
22323 instead of `' for method arguments in open-uri.rb
22325 Sat Aug 27 07:22:07 2011 Eric Hodel <drbrain@segment7.net>
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
22339 Sat Aug 27 04:03:18 2011 Koichi Sasada <ko1@atdot.net>
22341 * iseq.c (iseq_data_to_ary): fix type of variable
22342 (long -> unsigned long) to suppress a warning.
22344 Sat Aug 27 04:02:11 2011 Koichi Sasada <ko1@atdot.net>
22346 * vm_core.h: add a decl. of rb_autoloading_value().
22348 Fri Aug 26 19:12:08 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
22350 * variable.c: Make autoload thread-safe. See #921.
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.
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.
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
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
22383 * variable.c (rb_autoload): Prepare new autoload_data struct.
22385 * variable.c (rb_autoload_load): Load feature and update Constant
22386 table after feature loading is finished.
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
22392 * variable.c (rb_const_defined_0): Ditto.
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
22399 * vm_insnhelper.c (vm_get_ev_const): Apply same change as
22400 rb_const_get_0 in variable.c.
22402 * test/ruby/test_autoload.rb: Added tests for threading behavior.
22404 Fri Aug 26 10:10:37 2011 Eric Hodel <drbrain@segment7.net>
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.
22411 Fri Aug 26 08:21:10 2011 Aaron Patterson <aaron@tenderlovemaking.com>
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.
22417 Thu Aug 25 09:43:16 2011 Eric Hodel <drbrain@segment7.net>
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
22424 Thu Aug 25 09:25:48 2011 Eric Hodel <drbrain@segment7.net>
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
22431 Thu Aug 25 08:19:43 2011 Koichi Sasada <ko1@atdot.net>
22433 * vm.c (vm_make_env_each): work around to solve 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).
22443 * bootstraptest/test_flow.rb: add a test for above.
22445 Thu Aug 25 07:57:33 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
22447 * numeric.c (int_round): Fix Integer#round [ruby-core:39096]
22449 Thu Aug 25 07:00:00 2011 Koichi Sasada <ko1@atdot.net>
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!
22455 Thu Aug 25 06:51:08 2011 Aaron Patterson <aaron@tenderlovemaking.com>
22457 * ext/psych/lib/psych.rb: Fixing psych version number.
22458 * ext/psych/psych.gemspec: updating the gemspec.
22460 Thu Aug 25 06:11:35 2011 Aaron Patterson <aaron@tenderlovemaking.com>
22462 * ext/psych/lib/psych/nodes/node.rb: default `to_yaml` encoding to be
22464 * test/psych/test_encoding.rb: test yaml dump encoding.
22466 Thu Aug 25 01:24:33 2011 Naohisa Goto <ngotogenome@gmail.com>
22468 * test/fileutils/test_fileutils.rb (test_chmod_symbol_mode): Solaris
22469 seems to behave the same as FreeBSD.
22471 Thu Aug 25 01:11:36 2011 Naohisa Goto <ngotogenome@gmail.com>
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]
22477 Wed Aug 24 15:13:56 2011 Koichi Sasada <ko1@atdot.net>
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].
22495 * vm_insnhelper.c: ditto.
22497 * vm_method.c: ditto.
22499 * vm.c (rb_vm_get_sourceline): change to use rb_iseq_line_no().
22501 Wed Aug 24 09:49:10 2011 Koichi Sasada <ko1@atdot.net>
22503 * insns.def (defined): fix to checking class variable.
22504 A patch by Magnus Holm <judofyr@gmail.com>. Thanks!
22506 * test/ruby/test_variable.rb: add a test for above.
22508 Wed Aug 24 08:53:06 2011 Eric Hodel <drbrain@segment7.net>
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.
22514 Wed Aug 24 07:57:43 2011 Eric Hodel <drbrain@segment7.net>
22516 * lib/rubygems: Update to RubyGems 1.8.9. Fixes uninstalling multiple
22517 gems and gem cleanup.
22519 Wed Aug 24 06:45:20 2011 Ryan Davis <ryand-ruby@zenspider.com>
22521 * lib/minitest/*: Imported minitest 2.5.0 (r6557)
22522 * test/minitest/*: ditto
22524 Wed Aug 24 00:38:22 2011 Yusuke Endoh <mame@tsg.ne.jp>
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]
22530 * test/coverage/test_coverage.rb: add a test for above.
22532 Tue Aug 23 15:23:56 2011 Eric Hodel <drbrain@segment7.net>
22534 * load.c (rb_f_require): Improve documentation of Kernel#require.
22535 [Ruby 1.9 - Bug #5210]
22537 Tue Aug 23 11:27:26 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
22539 * ext/zlib/zlib.c (gzfile_read_header): Ensure that each section of
22540 gzip header is readable to avoid SEGV.
22542 * test/zlib/test_zlib.rb (test_corrupted_header): Test it.
22544 Mon Aug 22 23:43:33 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
22546 * sprintf.c (rb_str_format): add RB_GC_GUARD to prevent temporary
22549 Sun Aug 21 17:49:53 2011 Kazuki Tsujimoto <kazuki@callcc.net>
22551 * iseq.c (iseq_s_disasm): remove variable which is no longer used
22554 Sun Aug 21 14:20:58 2011 Naohisa Goto <ngotogenome@gmail.com>
22556 * configure.in: use LD_LIBRARY_PATH_64 on 64-bit Solaris.
22558 Sat Aug 20 13:19:52 2011 Kazuki Tsujimoto <kazuki@callcc.net>
22560 * iseq.c (iseq_s_disasm): fix a bug that may cause SEGV.
22562 * test/ruby/test_method.rb (test_body): add a test for the above change.
22564 Sat Aug 20 10:43:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
22570 Fri Aug 19 14:25:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22572 * process.c (proc_spawn_v, proc_spawn): should not wait the
22575 * process.c (proc_spawn_v): fix missing argument, and try with
22576 /bin/sh only if failed with ENOEXEC.
22578 Fri Aug 19 14:12:57 2011 Shugo Maeda <shugo@ruby-lang.org>
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]
22584 Fri Aug 19 13:18:00 2011 Kenta Murata <mrkn@mrkn.jp>
22586 * configure.in: defines _DARWIN_UNLIMITED_SELECT if the target_os
22589 Fri Aug 19 13:14:00 2011 Kenta Murata <mrkn@mrkn.jp>
22591 * thread.c: add a description for the behavior of select(2) on
22592 Mac OS X 10.7 (Lion).
22594 Fri Aug 19 11:28:58 2011 Shugo Maeda <shugo@ruby-lang.org>
22596 * lib/net/imap.rb (msg_att): accepts extra space before ')'.
22597 based on the patch by art lussos. [Bug #5163] [ruby-core:38820]
22599 Wed Aug 17 23:01:00 2011 Kenta Murata <mrkn@mrkn.jp>
22601 * ext/bigdecimal/bigdecimal.c (cannot_be_coerced_into_BigDecimal):
22602 remove duplication.
22604 Wed Aug 17 15:27:00 2011 Kenta Murata <mrkn@mrkn.jp>
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]
22610 * ext/bigdecimal/bigdecimal.c (BigDecimalValueWithPrec): use
22611 cannot_be_coerced_into_BigDecimal function.
22613 * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): ditto.
22615 * ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto.
22617 * test/bigdecimal/test_bigdecimal.rb: test for the above changes.
22619 * test/bigdecimal/testbase.rb (under_gc_stress): add a new utility
22620 method to run tests under the condition of GC.stress = true.
22622 Wed Aug 17 10:16:00 2011 Kenta Murata <mrkn@mrkn.jp>
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]
22628 * test/ruby/test_rational.rb (test_coerce): test for the above change.
22630 Wed Aug 17 06:33:19 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
22632 * ext/openssl/ossl_x509cert.c: Add class documentation for
22633 OpenSSL::X509::Certificate.
22635 Wed Aug 17 04:54:25 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
22637 * ext/openssl/ossl_pkey.c: corrected docs, OpenSSL::PKey::DH does
22638 *not* support #sign/verify.
22640 Tue Aug 16 18:56:54 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22642 * vm.c (ruby_threadptr_data_type): rename to hide.
22645 Tue Aug 16 18:52:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22647 * win32/mkexports.rb (Exports::Mswin#each_export): exclude Init_
22648 and _threadptr_ functions, as well as mingw.
22650 Tue Aug 16 09:31:44 2011 Eric Hodel <drbrain@segment7.net>
22652 * ext/dl: Add documentation. Patch by Vincent Batts.
22653 [Ruby 1.9 - Bug #5192]
22655 Tue Aug 16 08:48:26 2011 Eric Hodel <drbrain@segment7.net>
22657 * ext/.document (fiddle): Remove duplicate entry
22658 * ext/fiddle: Complete documentation of Fiddle. Patch by Vincent
22661 Tue Aug 16 08:00:15 2011 Eric Hodel <drbrain@segment7.net>
22663 * ext/socket: Make Socket documentation appear. Add documentation for
22664 Socket, TCPServer, SOCKSSocket. Patch by Sylvain Daubert.
22665 [Ruby 1.9 - Feature #5182]
22667 Mon Aug 15 09:58:55 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
22669 * ext/openssl/ossl_ssl.c: Support disabling OpenSSL compression.
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]
22675 Sun Aug 14 05:57:01 2011 Tanaka Akira <akr@fsij.org>
22677 * test/socket/test_socket.rb (test_connect_timeout): added a test
22678 based on a patch by Eric Wong. [ruby-core:38910]
22680 Sat Aug 13 22:17:27 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22682 * tool/mkconfig.rb: do not make the entries related to sitedir and
22683 verdordir if disabled by --without options. [ruby-core:38922]
22686 Sat Aug 13 17:03:22 2011 Tadayoshi Funaba <tadf@dotrb.org>
22688 * ext/date/date_core.c: [ruby-core:38861]
22690 Sat Aug 13 09:39:07 2011 Tadayoshi Funaba <tadf@dotrb.org>
22692 * test/date/test_*.rb: added tests.
22694 Sat Aug 13 09:36:19 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
22696 * ext/date/date_parse.c (parse_ddd_cb): fix r32896. RB_GC_GUARD
22697 insertion position was mistaken. [ruby-dev:44337] [Bug #5152]
22699 Sat Aug 13 09:26:24 2011 Aaron Patterson <aaron@tenderlovemaking.com>
22701 * ext/psych/lib/psych/core_ext.rb: Make Kernel#y private.
22704 * test/psych/test_yaml.rb: corresponding test.
22706 Sat Aug 13 09:05:16 2011 Tadayoshi Funaba <tadf@dotrb.org>
22708 * ext/date/date_core.c (date_strftime_alloc): followed the change
22711 * doc/NEWS-1.9.3: followed the above change.
22713 Sat Aug 13 08:55:38 2011 Aaron Patterson <aaron@tenderlovemaking.com>
22715 * ext/psych/lib/psych/scalar_scanner.rb: Only consider strings
22716 with fewer than 2 dots to be numbers. [ruby-core:38915]
22718 Sat Aug 13 08:47:20 2011 Tadayoshi Funaba <tadf@dotrb.org>
22720 * ext/date/date_core.c: [ruby-core:38855].
22722 Sat Aug 13 03:41:37 2011 Eric Hodel <drbrain@segment7.net>
22724 * lib/uri/common.rb: Fix documentation of URI::Parser.new. Patch by
22725 Steve Klabnik. [Ruby 1.9 - Bug #5177]
22727 Sat Aug 13 02:19:57 2011 Eric Hodel <drbrain@segment7.net>
22729 * ext/digest/digest.c: Add documentation for the Digest module. Patch
22730 by Sylvain Daubert. [Ruby 1.9 - Bug #5167]
22732 Sat Aug 13 01:56:11 2011 Eric Hodel <drbrain@segment7.net>
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.
22738 Fri Aug 12 11:39:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
22740 * configure.in: Describe "no" configure option for site_ruby
22741 and vendor_ruby. Patch by Vit Ondruch. [Bug #5187][ruby-core:38921]
22743 Fri Aug 12 09:00:24 2011 Eric Hodel <drbrain@segment7.net>
22745 * lib/rubygems: Import RubyGems 1.8.8. Fixes encoding of YAML gemspec
22746 from gems. Github Issue #149
22748 Fri Aug 12 08:17:46 2011 Tanaka Akira <akr@fsij.org>
22750 * ext/socket/ipsocket.c (init_inetsock_internal): use SOMAXCONN for
22753 * ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
22755 * ext/socket/lib/socket.rb (Addrinfo#listen): ditto.
22756 (Socket.tcp_server_sockets_port0): ditto.
22758 * ext/socket/mkconstants.rb: define SOMAXCONN as 5 if not available.
22762 Fri Aug 12 03:24:35 2011 Eric Hodel <drbrain@segment7.net>
22764 * lib/rdoc: Import RDoc 3.9.2. Fixes TIDYLINK for HTML output.
22766 Thu Aug 11 15:37:42 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
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
22774 Thu Aug 11 15:07:36 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22776 * lib/mkmf.rb (link_command): use LIBRUBYARG in rbconfig for
22777 unbundled extensions. [ruby-core:38802] [Bug #5147]
22779 * lib/mkmf.rb (init_mkmf): revert r32902. [ruby-core:38903]
22781 Wed Aug 10 23:03:55 2011 Tanaka Akira <akr@fsij.org>
22783 * ext/socket/lib/socket.rb: fix argument check in the previous commit.
22785 Wed Aug 10 22:12:28 2011 Tanaka Akira <akr@fsij.org>
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.
22793 Wed Aug 10 21:27:19 2011 Tanaka Akira <akr@fsij.org>
22795 * lib/net/pop.rb: fix typo in document.
22797 * lib/net/http.rb: ditto.
22799 * lib/net/imap.rb: ditto.
22801 Wed Aug 10 19:30:00 2011 Kenta Murata <mrkn@mrkn.jp>
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]
22807 * test/ruby/test_complex.rb (test_rationalize): add a test for the
22810 * complex.c (nucomp_to_r): fix RDoc comment. The patch is made by
22811 Marc-Andre Lafortune.
22813 Wed Aug 10 14:11:07 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22815 * lib/mkmf.rb (init_mkmf): set $LIBRUBYARG regardless of shared
22816 option. [ruby-core:38802] [Bug #5147]
22818 Wed Aug 10 02:53:27 2011 NARUSE, Yui <naruse@ruby-lang.org>
22820 * lib/net/http.rb: come back autoload. OpenSSL constant is used
22821 some places, so it leads mistakes like HTTP.start.
22823 Tue Aug 9 22:57:45 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
22825 * ext/date/date_parse.c (date_zone_to_diff): add RB_GC_GUARD.
22826 [ruby-dev:44337] [Bug #5152]
22828 * ext/date/data_parse.c (parse_ddd_cb): ditto.
22830 Tue Aug 9 14:25:47 2011 Naohisa Goto <ngotogenome@gmail.com>
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]
22836 * ext/fiddle/closure.c (callback): ditto
22838 * ext/fiddle/conversions.h (fiddle_generic): ditto
22840 * ext/fiddle/conversions.c (value_to_generic): char, short and int
22841 are strictly distinguished on big-endian CPU, e.g. sparc64.
22843 Tue Aug 9 11:21:08 2011 Narihiro Nakamura <authornari@gmail.com>
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]
22849 * gc.c (gc_clear_mark_on_sweep_slots): if a sweeping was
22850 interrupted, we expand the heap if at all possible.
22852 Tue Aug 9 12:20:33 2011 Naohisa Goto <ngotogenome@gmail.com>
22854 * test/fiddle/helper.rb (libc_so, libm_so): Solaris support added.
22855 [ruby-core:38853] [Bug #5168]
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.
22860 Tue Aug 9 09:18:04 2011 Eric Hodel <drbrain@segment7.net>
22862 * ext/zlib/zlib.c (gzfile_wrap): Document encoding options.
22864 * ext/zlib/zlib.c (rb_gzwriter_s_open): ditto
22866 * ext/zlib/zlib.c (rb_gzreader_s_open): ditto
22868 Sun Aug 7 23:31:32 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
22870 * time.c (rb_strftime_alloc): raise ERANGE if width is too large.
22871 Patch by Nobuyoshi Nakada. [Bug #4457] [ruby-dev:43285]
22873 * test/ruby/test_time.rb (class TestTime): add a test for the
22876 Sun Aug 7 22:51:45 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
22878 * ext/openssl/ossl_asn1.c (decode_eoc): remove unused variables.
22879 Patch by Eric Wong. [Feature #5157] [ruby-core:38798]
22881 * ext/openssl/ossl_asn1.c (ossl_asn1_decode): ditto.
22883 * ext/openssl/ossl_pkey.c (ossl_pkey_new_from_data): ditto.
22885 Sun Aug 7 22:37:08 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
22887 * configure.in: add -Wunused-variable to default CFLAGS.
22888 Patch by Eric Wong. [Feature #5157] [ruby-core:38798]
22890 Sun Aug 7 15:37:35 2011 NARUSE, Yui <naruse@ruby-lang.org>
22892 * ext/digest/sha2/sha2ossl.c: use original SHA384_Final on DragonFly.
22894 Sun Aug 7 14:08:16 2011 Kazuki Tsujimoto <kazuki@callcc.net>
22896 * ext/objspace/objspace.c: fix typos in a document.
22898 Sun Aug 7 07:14:57 2011 NARUSE, Yui <naruse@ruby-lang.org>
22900 * cont.c (HAVE_GETCONTEXT): see getcontext(3) because DragonFly BSD
22901 x64 port doesn't have it.
22903 Sun Aug 7 00:42:55 2011 NARUSE, Yui <naruse@ruby-lang.org>
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
22909 Sat Aug 6 07:06:34 2011 Eric Hodel <drbrain@segment7.net>
22911 * marshal.c (w_object): Fix exception message when _dump_data is not
22912 defined on a T_DATA object.
22914 Fri Aug 5 22:16:20 2011 Naohisa Goto <ngotogenome@gmail.com>
22916 * numeric.c (rb_infinity, rb_nan): use WORDS_BIGENDIAN to get endian.
22917 fix [Bug #5160] [ruby-dev:44356]
22919 Fri Aug 5 17:14:11 2011 Akinori MUSHA <knu@iDaemons.org>
22921 * test/test_syslog.rb (TestSyslog#test_log): Do not be too
22922 specific about the log line format. Fixes #5081.
22924 Fri Aug 5 15:57:10 2011 Naohisa Goto <ngotogenome@gmail.com>
22926 * complex.c (f_signbit): fix compile error in gcc4 on Solaris with
22927 CFLAGS="-std=gnu99". [ruby-dev:44355] fix [Bug #5159]
22931 Fri Aug 5 15:55:33 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22933 * test/ruby/test_object.rb: tests that respond_to? returns false.
22935 Fri Aug 5 13:32:43 2011 Shugo Maeda <shugo@ruby-lang.org>
22937 * lib/xmlrpc/client.rb, lib/xmlrpc/server.rb: should use
22938 String#bytesize instead of String#size.
22940 Fri Aug 5 12:18:20 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
22942 * vm_eval.c (check_funcall): try respond_to? first if redefined.
22945 Fri Aug 5 09:48:22 2011 Eric Hodel <drbrain@segment7.net>
22947 * lib/rubygems: Import RubyGems 1.8.7:
22948 Added missing require for `gem uninstall --format-executable`.
22950 The correct name of the executable being uninstalled is now displayed
22951 with --format-executable.
22953 Fixed `gem unpack uninstalled_gem` default version picker.
22955 RubyGems no longer claims a nonexistent gem can be uninstalled.
22957 `gem which` no longer claims directories are requirable files.
22959 `gem cleanup` continues cleaning up gems if one can't be uninstalled
22960 due to permissions. Issue #82.
22962 Gem repository directories are no longer created world-writable.
22963 Patch by Sakuro OZAWA. [Ruby 1.9 - Bug #4930]
22965 Fri Aug 5 07:00:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
22971 Thu Aug 4 23:48:00 2011 Kenta Murata <mrkn@mrkn.jp>
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].
22979 * thread_pthread.c (native_cond_broadcast): ditto.
22981 * thread_pthread.c (struct cached_thread_entry): stop using
22982 pthread_cond_t and its functions directly.
22984 * thread_pthread.c (register_cached_thread_and_wait): ditto.
22986 * thread_pthread.c (use_cached_thread): ditto.
22988 Thu Aug 4 20:29:41 2011 Naohisa Goto <ngotogenome@gmail.com>
22990 * configure.in: when Solaris cc, use $(CC) to link shared libs.
22992 Thu Aug 4 20:19:11 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
23000 Thu Aug 4 16:08:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23002 * tool/rbinstall.rb (gem): install all gemspecs under lib and ext.
23004 * tool/rbinstall.rb (Gem::Specification): may not be defined when
23005 cross-compiling and BASERUBY is 1.8.
23007 Thu Aug 4 11:30:36 2011 NARUSE, Yui <naruse@ruby-lang.org>
23009 * include/ruby/missing.h: define __syscall on OpenBSD as r32702.
23011 Thu Aug 4 03:02:54 2011 Aaron Patterson <aaron@tenderlovemaking.com>
23013 * tool/rbinstall.rb: use rubygems to load gemspecs, copy actual
23014 gemspecs on install rather than generate fake ones for all gems.
23016 Thu Aug 4 02:45:10 2011 Kenta Murata <mrkn@mrkn.jp>
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).
23021 Thu Aug 4 02:21:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23023 * lib/mkmf.rb (link_command): use static library only for bundled
23024 extensions. [Bug #5147]
23026 Thu Aug 4 02:02:10 2011 Aaron Patterson <aaron@tenderlovemaking.com>
23028 * ext/psych/psych.gemspec: installing psych as a gem.
23030 Wed Aug 3 16:01:35 2011 NAKAMURA Usaku <usa@ruby-lang.org>
23032 * util.c, include/ruby/util.h (ruby_add_suffix): remove the function.
23033 [Bug #5153] [ruby-core:38736]
23035 * io.c (argf_next_argv): remove the call of above function.
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().
23040 * LEGAL: remove the mention about a part of util.c, because now we
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).
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).
23050 Wed Aug 3 09:18:08 2011 URABE Shyouhei <shyouhei@ruby-lang.org>
23052 * test/xmlrpc/webrick_testing.rb (WEBrick_Testing#start_server):
23053 Like r32795, bind address should be specified.
23055 Wed Aug 3 07:46:30 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23057 * encoding.c (enc_find): mistakenly remained !. [Bug #5150]
23059 Wed Aug 3 00:11:08 2011 Tanaka Akira <akr@fsij.org>
23061 * lib/prettyprint.rb: update document. [ruby-core:36776]
23063 Tue Aug 2 22:04:46 2011 NARUSE, Yui <naruse@ruby-lang.org>
23065 * gc.c (init_heap): allocate sigaltstack after heaps are allocated.
23066 [ruby-dev:44315] [Bug #5139]
23068 * vm.c (thread_free): use free because objspace is not ready.
23070 * vm.c (th_init): use malloc because objspace is not ready.
23072 Tue Aug 2 20:10:16 2011 Shota Fukumori <sorah@tubusu.net>
23074 * test/testunit/test_parallel.rb: pass "--ruby" option to
23075 test/testunit/tests_for_parallel/runner.rb. [Bug #5132] [ruby-dev:44303]
23077 Tue Aug 2 15:53:37 2011 NARUSE, Yui <naruse@ruby-lang.org>
23079 * encoding.c (str_to_encoding): rename from to_encoding and
23080 use str_to_encindex.
23082 * encoding.c (str_to_encindex): split from to_encoding.
23084 * encoding.c (rb_to_encoding): use str_to_encoding.
23086 * encoding.c (rb_obj_encoding): don't bypass rb_encoding*.
23087 If it uses rb_encoding*, it bypass encindex. If it uses encindex,
23090 * encoding.c (enc_find): add shortcut for encoding object, use
23091 str_to_encindex, and avoid bypass rb_encoding*.
23093 Tue Aug 2 12:03:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23095 * hash.c (recursive_hash): hash value of emptied hash should be
23096 equal to an empty hash. [ruby-core:38650]
23098 Tue Aug 2 11:42:15 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23100 * parse.y (rb_enc_symname2_p): :! is valid symbol. [Bug #5136]
23102 Tue Aug 2 07:33:29 2011 URABE Shyouhei <shyouhei@ruby-lang.org>
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.
23107 * test/net/http/test_https.rb (TestNetHTTPS#test_timeout_during_SSL_handshake):
23110 Tue Aug 2 06:18:15 2011 Luis Lavena <luislavena@gmail.com>
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
23116 Mon Aug 1 20:12:03 2011 NAKAMURA Usaku <usa@ruby-lang.org>
23118 * test/ruby/test_process.rb (TestProcess#windows?): new method.
23120 * test/ruby/test_process.rb (TestProcess#*): use above method.
23122 * test/ruby/test_process.rb (TestProcess#test_execopts_redirect):
23123 windows doesn't support FD_CLOEXEC.
23125 Mon Aug 1 15:45:23 2011 Eric Hodel <drbrain@segment7.net>
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
23131 Mon Aug 1 15:31:14 2011 URABE Shyouhei <shyouhei@ruby-lang.org>
23133 * test/io/console/test_io_console.rb (TestIO_Console#test_sync):
23134 Skip when PTY allocation failed (that's not our fault).
23136 Mon Aug 1 15:04:12 2011 URABE Shyouhei <shyouhei@ruby-lang.org>
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.
23148 Mon Aug 1 14:24:56 2011 Eric Hodel <drbrain@segment7.net>
23150 * lib/rdoc.rb: Import RDoc 3.9.1. Fixes bugs in the RDoc::Markup
23153 Mon Aug 1 12:00:35 2011 NARUSE, Yui <naruse@ruby-lang.org>
23155 * insns.def (concatstrings): don't use initial ASCII-8BIT string.
23156 [ruby-core:38635] [Bug #5126]
23158 Sun Jul 31 22:57:16 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
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.
23164 Sun Jul 31 21:16:02 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
23166 * complex.c (f_signbit): gcc4 on Solaris DOES have signbit but does
23167 not have it on header.
23171 Sun Jul 31 21:09:04 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
23173 * common.mk (node_name.inc): Use $(Q) for consistency.
23175 * Makefile.in (INSNS): ditto.
23177 Sun Jul 31 21:19:51 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
23179 * lib/mkmf.rb (configuration:ECHO1): Same as the recent fix in
23181 ":" in a make variable replacement cause a syntax error with
23182 /usr/ccs/bin/make on Solaris. Uses $(NULLCMD) instead.
23184 Sun Jul 31 20:39:12 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
23186 * common.mk (ECHO1): nmake does not allow parenthesis in make variable
23189 Sun Jul 31 23:06:57 2011 Kazuki Tsujimoto <kazuki@callcc.net>
23191 * vm.c (check_env): print debug messages to stderr.
23192 [Feature #4871] [ruby-dev:43743]
23194 Sun Jul 31 22:50:23 2011 Kazuki Tsujimoto <kazuki@callcc.net>
23196 * vm.c (vm_make_env_each): don't save prev env value.
23197 It is no longer used. [Feature #4871] [ruby-dev:43743]
23199 * vm.c (check_env): changed accordingly.
23201 Sun Jul 31 20:21:36 2011 "Yuki Sonoda (Yugui)" <yugui@yugui.jp>
23203 * common.mk (ECHO1): ":" in a make variable replacement cause a syntax
23204 error with /usr/ccs/bin/make on Solaris. Uses $(NULLCMD) instead.
23206 * configure.in (NULLCMD): new check.
23208 * Makefile.in (NULLCMD): Reflects checking in configure.
23210 * win32/Makefile.sub (NULLCMD): new assignment.
23212 Sun Jul 31 18:58:59 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23214 * io.c (rb_pipe): pipe on cygwin can succeed half but fail
23217 Sun Jul 31 11:31:07 2011 Kazuki Tsujimoto <kazuki@callcc.net>
23219 * vm.c: check if cfp is valid. [Bug #5083] [ruby-dev:44208]
23221 Sun Jul 31 09:18:28 2011 Eric Hodel <drbrain@segment7.net>
23223 * lib/rdoc: Update to RDoc 3.9. Fixed `ri []`, stopdoc creating an
23224 object reference, nodoc for class aliases, verbatim === lines.
23226 Sun Jul 31 01:29:08 2011 NARUSE, Yui <naruse@ruby-lang.org>
23228 * io.c (rb_io_each_byte): remove unused variable e.
23230 Sat Jul 31 01:23:45 2011 Kenta Murata <mrkn@mrkn.jp>
23232 * test/bigdecimal/test_bigdecimal.rb (test_version): removed.
23234 Sat Jul 30 23:19:09 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23236 * defs/default_gems: separate from tool/rbinstall.rb.
23238 Sat Jul 30 23:14:44 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23240 * io.c (rb_io_each_byte): rbuf can be refreshed during yield.
23243 Sat Jul 30 22:35:50 2011 Naohisa Goto <ngotogenome@gmail.com>
23245 * strftime.c (NEEDS): avoid SEGV due to integer overflow in
23246 sparc-solaris2.10 and i686-linux. fix [Bug #4456] [ruby-dev:43284]
23248 Sat Jul 30 17:26:26 2011 Masaki Suketa <masaki.suketa@nifty.ne.jp>
23250 * test/win32ole/test_win32ole_variant.rb: use skip method to skip the test.
23252 * test/win32ole/test_win32ole_variant_outarg.rb: ditto.
23254 Sat Jul 30 14:27:00 2011 Kenta Murata <mrkn@mrkn.jp>
23256 * ext/bigdecimal/bigdecimal.c (BigDecimal_version): version 1.1.0.
23258 * ext/bigdecimal/bigdecimal.gemspec: turn into a default gem.
23260 * tool/rbinstall.rb: ditto.
23262 Sat Jul 30 11:21:55 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
23264 * vm_core.h (ALT_STACK_SIZE): use MINSIGSTKSZ*2 instead of SIGSTKSZ*2.
23267 Sat Jul 30 10:39:14 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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].
23273 * signal.c (rb_register_sigaltstack): ditto.
23275 * vm_core.h: moved ALT_STACK_SIZE definition from signal.c.
23276 * vm.c (thread_free): use xfree() instead of free().
23278 Sat Jul 30 07:20:49 2011 Tanaka Akira <akr@fsij.org>
23280 * ext/socket/lib/socket.rb (udp_server_sockets): unused variable
23282 patch by Jeremy Evans. [ruby-core:38600]
23284 Fri Jul 29 23:56:32 2011 Tanaka Akira <akr@fsij.org>
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]
23290 Fri Jul 29 23:53:48 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23292 * array.c (rb_ary_set_len): new function to set array length.
23294 * vm_eval.c (method_missing): set the length of argv array, to mark
23297 * vm_eval.c (rb_apply): get rid of too large alloca.
23299 Fri Jul 29 20:48:39 2011 Tanaka Akira <akr@fsij.org>
23301 * ext/socket/mkconstants.rb: fix typos.
23303 Fri Jul 29 20:28:56 2011 Tanaka Akira <akr@fsij.org>
23305 * ext/socket/mkconstants.rb: use whitespaces as a separator.
23307 Fri Jul 29 18:59:07 2011 Tanaka Akira <akr@fsij.org>
23309 * ext/socket/mkconstants.rb: add documents for constants.
23310 patch by Eric Hodel. [ruby-core:37853] [Bug #4989]
23312 Fri Jul 29 16:00:43 2011 NARUSE, Yui <naruse@ruby-lang.org>
23314 * configure.in (enable_pthread): use -pthread on OpenBSD without
23315 explicit option. patched by Jeremy Evans. [ruby-core:38572]
23317 Thu Jul 28 23:36:28 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
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]
23324 Thu Jul 28 22:36:06 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
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.
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
23337 * test/openssl/test_cipher.rb: test it.
23339 Thu Jul 28 14:25:08 2011 NAKAMURA Usaku <usa@ruby-lang.org>
23341 * lib/rubygems/user_interaction.rb (Gem::StreamUI#tty?): typo.
23343 Thu Jul 28 12:32:53 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23345 * ext/dl/callback/mkcallback.rb (gencallback): use PTR2NUM.
23347 * ext/dl/cptr.c (rb_dlptr_aref, rb_dlptr_aset): check NULL pointer
23350 * ext/dl/cptr.c (rb_dlptr_s_to_ptr): use rb_check_funcall.
23352 * ext/dl/cptr.c (rb_dlptr_s_to_ptr): fix wrapping condition.
23354 Thu Jul 28 04:53:31 2011 Eric Hodel <drbrain@segment7.net>
23356 * lib/delegate.rb: Move file-level documentation to the appropriate
23359 Thu Jul 28 02:15:04 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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.
23365 Thu Jul 28 00:28:15 2011 NARUSE, Yui <naruse@ruby-lang.org>
23367 * test/fileutils/test_fileutils.rb: add OpenBSD case.
23368 patched by Jeremy Evans [ruby-core:38530] see #5097
23370 * test/ruby/test_process.rb: ditto.
23372 Wed Jul 27 22:46:59 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
23374 * test/rinda/test_rinda.rb (test_remote_array_and_hash):
23375 add local variables to protect objects from GC. [ruby-dev:44253]
23378 Wed Jul 27 17:55:54 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
23384 Wed Jul 27 15:39:14 2011 Eric Hodel <drbrain@segment7.net>
23386 * object.c: Add usage documentation for BasicObject. Based on patch
23387 by Thomas Sawyer. [Ruby 1.9 - Bug #5067]
23389 Wed Jul 27 12:24:17 2011 Eric Hodel <drbrain@segment7.net>
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]
23395 Wed Jul 27 09:34:24 2011 Eric Hodel <drbrain@segment7.net>
23397 * lib/rubygems: Update to RubyGems 1.8.6.1.
23399 Wed Jul 27 09:27:59 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
23401 * test/openssl/test_pkcs12.rb: Add test and intermediate certificates.
23402 [ Ruby 1.9 - Feature #3793 ] [ruby-core:32088]
23404 Wed Jul 27 01:05:32 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23406 * eval_error.c (rb_print_undef_str): new function to raise
23407 NameError for undefined method.
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]
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].
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]
23422 Wed Jul 27 00:50:00 2011 Kenta Murata <mrkn@mrkn.jp>
23424 * ext/bigdecimal/lib/bigdecimal/util.rb (Rational#to_d):
23425 zero or negative precision is error. fixes #5098.
23428 * test/bigdecimal/test_bigdecimal_util.rb: add test for the above
23431 Wed Jul 27 00:48:00 2011 Kenta Murata <mrkn@mrkn.jp>
23433 * ext/bigdecimal/lib/bigdecimal/util.rb (Float#to_d): modified for
23434 specifying precision. fixes #5098. [ruby-dev:44210]
23436 * test/bigdecimal/test_bigdecimal_util.rb: add test for the above
23439 Wed Jul 27 00:45:00 2011 Kenta Murata <mrkn@mrkn.jp>
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]
23445 * test/bigdecimal/test_bigdecimal_util.rb: add test for the above
23448 Wed Jul 27 00:30:00 2011 Kenta Murata <mrkn@mrkn.jp>
23450 * ext/bigdecimal/lib/bigdecimal/util.rb (BigDecimal#to_d): added
23451 for adapting other Numeric subclasses. [ruby-dev:44245]
23453 * test/bigdecimal/test_bigdecimal_util.rb: test for the above change.
23455 Wed Jul 27 00:27:00 2011 Kenta Murata <mrkn@mrkn.jp>
23457 * bigdecimal/bigdecimal.c (VpDup) a new function for duplicating
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]
23464 Tue Jul 26 23:33:24 2011 Igor Zubkov <igor.zubkov@gmail.com>
23466 * array.c: Fix typo. https://github.com/ruby/ruby/pull/36
23468 Mon Jul 25 23:51:01 2011 Yusuke Endoh <mame@tsg.ne.jp>
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.
23474 Mon Jul 25 23:39:33 2011 NAKAMURA Usaku <usa@ruby-lang.org>
23476 * test/rake/test_rake_directory_task.rb (TestRakeDirectoryTask#
23477 test_directory_win32): fixed wrong test.
23479 Mon Jul 25 22:36:11 2011 Yusuke Endoh <mame@tsg.ne.jp>
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]
23489 Mon Jul 25 22:14:37 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
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.
23495 * test/xmlrpc/test_webrick_server.rb: test it.
23497 Mon Jul 25 15:04:33 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
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
23503 require "openssl/ssl"
23505 require "openssl/x509"
23507 Mon Jul 25 13:46:38 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
23509 * ext/openssl/lib/openssl/x509.rb: Cosmetic change: move definition
23510 introduced in r30152 to x509-internal.rb.
23512 Mon Jul 25 13:09:42 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
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.
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.
23523 Sun Jul 24 20:29:53 2011 Tanaka Akira <akr@fsij.org>
23525 * ext/socket/extconf.rb: refine the recvmsg test.
23527 Sun Jul 24 20:02:31 2011 Tanaka Akira <akr@fsij.org>
23529 * ext/socket/extconf.rb: fix the recvmsg test.
23531 Sun Jul 24 08:42:51 2011 Tanaka Akira <akr@fsij.org>
23533 * ext/socket/extconf.rb: test recvmsg allocates file descriptors for
23534 fd passing even with MSG_PEEK.
23536 * ext/socket/ancdata.c: use the above test result.
23538 Sun Jul 24 01:04:50 2011 Eric Hodel <drbrain@segment7.net>
23540 * lib/rubygems/specification.rb: Restore behavior of
23541 Gem::Specification#loaded. [Ruby 1.9 - Bug #5032]
23543 Sun Jul 24 00:05:00 2011 Jeremy Evans <merch-redmine@jeremyevans.net>
23545 * error.c (rb_name_error_str): new function to raise NameError
23546 with the name string but not ID.
23548 * object.c, proc.c, variable.c: more removal of inadvertent symbol
23549 creation. [Feature #5079]
23551 Sat Jul 23 21:14:00 2011 Tadayoshi Funaba <tadf@dotrb.org>
23553 * lib/cmath.rb (cbrt): should return a real number if possible.
23555 Sat Jul 23 20:12:52 2011 NARUSE, Yui <naruse@ruby-lang.org>
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.
23561 * test/rake/test_rake_rake_test_loader.rb: ditto.
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.
23567 Sat Jul 23 20:11:50 2011 Tadayoshi Funaba <tadf@dotrb.org>
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].
23572 Sat Jul 23 19:12:53 2011 Masaki Suketa <masaki.suketa@nifty.ne.jp>
23574 * test/win32ole/test_err_in_callback.rb (test_err_in_callback):
23575 skip test if ADODB.connection is not available.
23577 Sat Jul 23 15:37:04 2011 NARUSE, Yui <naruse@ruby-lang.org>
23579 * parse.y (rb_enc_symname_type): :$a!, @a! and so on are not
23580 valid symbols, so they should be inspected with quotes.
23582 Sat Jul 23 17:06:25 2011 Tanaka Akira <akr@fsij.org>
23584 * io.c (rb_update_max_fd): validate fd.
23586 * ext/socket/rubysocket.h (rsock_discard_cmsg_resource): add
23587 msg_peek_p argument for the declaration.
23589 * ext/socket/ancdata.c (discard_cmsg): add msg_peek_p argument.
23590 assume FreeBSD, NetBSD and MacOS X doesn't generate passed fd
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.
23596 * ext/socket/unixsocket.c (unix_recv_io): call
23597 rsock_discard_cmsg_resource with msg_peek_p argument.
23599 Sat Jul 23 14:38:28 2011 Eric Hodel <drbrain@segment7.net>
23601 * test/rake*: Remove dependencies on flexmock and session gems.
23602 [Ruby 1.9 - Bug #4987]
23604 Sat Jul 23 12:19:04 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23606 * parse.y (rb_check_id): take care of attrset ID created
23607 implicitly by local ID. [Bug #5084]
23609 * parse.y (rb_check_id): conversion condition was inverse.
23612 Fri Jul 22 21:46:54 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
23619 Fri Jul 22 21:18:20 2011 NARUSE, Yui <naruse@ruby-lang.org>
23621 * lib/uri/generic.rb (WFKV_): unroll the loop of regexp.
23623 * lib/uri/generic.rb (URI.decode_www_form_component): ditto.
23625 Fri Jul 22 21:06:39 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
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]
23631 * vm_method.c (rb_mod_method_defined)
23632 (rb_mod_{public,private,protected}_method_defined)
23633 (obj_respond_to): ditto.
23635 * parse.y (rb_check_id): new function returns already interned ID
23638 Fri Jul 22 20:44:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23640 * parse.y (rb_is_global_id, rb_is_attrset_id): add missing
23643 Fri Jul 22 20:24:38 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
23645 * test/ruby/test_object.rb (TestObject#test_respond_to_missing):
23646 2nd argument of respond_to_missing? is not optional.
23648 Fri Jul 22 19:05:47 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23650 * parse.y (rb_enc_symname2_p): get rid of potential out-of-bound
23653 Fri Jul 22 13:55:59 2011 Eric Hodel <drbrain@segment7.net>
23655 * lib/net/http.rb: Net::HTTP#finish is used to manually close
23656 connections. [Ruby 1.9 - Bug #5045]
23658 Fri Jul 22 13:51:29 2011 Eric Hodel <drbrain@segment7.net>
23660 * ext/readline/readline.c: Add examples for Readline.completion_proc=.
23661 [Ruby 1.9 - Bug #5057]
23663 Fri Jul 22 13:03:12 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
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.
23668 Fri Jul 22 12:10:21 2011 Eric Hodel <drbrain@segment7.net>
23670 * tool/rbinstall.rb (default gems): Install executables into the fake
23671 gem dir for Gem.bin_path. [#4485]
23673 Fri Jul 22 11:20:20 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
23680 Fri Jul 22 09:09:43 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
23687 Fri Jul 22 06:37:13 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
23689 * lib/csv.rb: Do not modify CSV.generate's argument [ruby-core:38356]
23691 Thu Jul 21 20:59:59 2011 Tanaka Akira <akr@fsij.org>
23693 * ext/socket/ancdata.c (discard_cmsg): workaround for MacOS X Lion.
23695 Thu Jul 21 20:02:11 2011 Yusuke Endoh <mame@tsg.ne.jp>
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]
23702 * test/ruby/test_continuation.rb (class TestContinuation): add a test
23703 for above. a patch from James M. Lawrence.
23705 Thu Jul 21 19:27:19 2011 Yusuke Endoh <mame@tsg.ne.jp>
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).
23716 Thu Jul 21 18:11:07 2011 NARUSE, Yui <naruse@ruby-lang.org>
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
23722 Thu Jul 21 17:30:21 2011 NARUSE, Yui <naruse@ruby-lang.org>
23724 * array.c (rb_ary_delete_at_m): use simple array literal in rdoc.
23725 patched by samuel tonini. [ruby-core:38310] [Bug #5066]
23727 Thu Jul 21 17:14:21 2011 NARUSE, Yui <naruse@ruby-lang.org>
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]
23733 Wed Jul 20 23:02:18 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
23735 * io.c (rb_update_max_fd): remove parentheses. they are not in
23738 Wed Jul 20 22:22:23 2011 Tanaka Akira <akr@fsij.org>
23740 * include/ruby/intern.h (rb_update_max_fd): declaration moved from
23745 * io.c: call rb_update_max_fd for each new fds.
23747 * process.c: ditto.
23753 * ext/io/console/console.c: ditto.
23755 * ext/openssl/ossl_bio.c: ditto.
23757 * ext/pty/pty.c: ditto.
23759 * ext/socket/init.c: ditto.
23761 * ext/socket/socket.c: ditto.
23763 * ext/socket/ancdata.c: ditto.
23765 * ext/socket/unixsocket.c: ditto.
23767 Wed Jul 20 15:16:22 2011 NARUSE, Yui <naruse@ruby-lang.org>
23769 * ext/dl/handle.c (dlhandle_sym): clear previous error with dlerror()
23770 before calling dlsym(). [ruby-dev:44091] [Bug #5021]
23772 Wed Jul 20 07:16:26 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
23774 * NEWS: mention Kernel#warn. [ruby-core:38119] [Feature #5029]
23776 Tue Jul 19 16:40:45 2011 TAKANO Mitsuhiro (takano32) <tak@no32.tk>
23778 * cont.c (cont_save_thread): fix missing semicolon.
23780 Tue Jul 19 16:25:15 2011 Tanaka Akira <akr@fsij.org>
23782 * io.c (UPDATE_MAXFD): removed.
23784 Tue Jul 19 16:07:45 2011 Tanaka Akira <akr@fsij.org>
23786 * io.c (rb_update_max_fd): new function.
23788 * internal.h (rb_update_max_fd): declare rb_update_max_fd.
23790 * thread_pthread.c (rb_thread_create_timer_thread): update max fd when
23791 timer thread pipe is created.
23793 Mon Jul 18 13:36:47 2011 Aaron Patterson <aaron@tenderlovemaking.com>
23795 * ext/psych/lib/psych.rb: define a new BadAlias error class.
23797 * ext/psych/lib/psych/visitors/to_ruby.rb: raise an exception when
23798 deserializing an alias that does not exist.
23800 * test/psych/test_merge_keys.rb: corresponding test.
23802 Mon Jul 18 00:00:46 2011 Shugo Maeda <shugo@ruby-lang.org>
23804 * ext/curses/curses.c: added the new class Curses::Pad, which
23805 supports scrolling. patch by Eric Hodel. [Feature #4896]
23808 Sun Jul 17 16:26:40 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23810 * error.c (rb_check_trusted): new function to check an object is
23813 * struct.c (rb_struct_modify), time.c (time_modify): check by the
23814 above function to show proper class names. [Bug #5036]
23816 Sun Jul 17 15:30:04 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23818 * error.c (rb_warn_m): accept multiple args in like puts. rdoc
23819 patch by Erik Price at [ruby-core:38119]. [Feature #5029]
23821 Sun Jul 17 07:56:31 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
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]
23828 Sat Jul 16 17:29:20 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23830 * configure.in (RUBY_UNIVERSAL_ARCH): restore arch flag.
23833 Sat Jul 16 06:27:51 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
23835 * lib/uri/common.rb (module): Remove optional parser argument to
23839 * lib/uri/generic.rb (module): ditto
23841 Sat Jul 16 03:19:45 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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]
23847 Sat Jul 16 00:55:38 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
23852 * test/ruby/test_time.rb (TestTime#test_getlocal_dont_share_eigenclass):
23853 added a new test for eigenclass of time object.
23855 Fri Jul 15 19:11:00 2011 Kenta Murata <mrkn@mrkn.jp>
23857 * bignum.c (bigsub_int): add RB_GC_GUARD. This patch is made by
23858 Makoto Kishimoto. fixes #4223 [ruby-dev:42907]
23860 * bignum.c (bigadd_int): ditto.
23862 Fri Jul 15 14:27:53 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
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.
23873 Fri Jul 15 09:10:41 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
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.
23881 * test/digest/test_digest.rb: add test for unalignment access.
23883 Fri Jul 15 01:51:25 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
23885 * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): Power PC does not
23886 allow unaligned word access.
23888 * st.c (UNALIGNED_WORD_ACCESS): x86_64 allows unaligned word
23889 access as well as i386.
23891 Thu Jul 14 12:19:34 2011 Hiroshi Nakamura <nahi@ruby-lang.org>
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.
23899 * test/openssl/test_ssl.rb
23900 (test_exception_in_verify_callback_is_ignored): test it.
23902 Tue Jul 12 23:41:49 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
23904 * NEWS: add a description of Signal.trap change.
23906 Tue Jul 12 20:02:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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):
23913 Tue Jul 12 17:12:45 2011 Yukihiro Matsumoto <matz@ruby-lang.org>
23915 * vm_method.c (rb_add_method): should not call method_added hook
23916 for undef operation. [Bug #5015]
23918 Tue Jul 12 16:58:44 2011 Shota Fukumori <sorah@tubusu.net>
23920 * lib/test/unit.rb(Test::Unit::Options#process_args): Fix bug.
23921 Fix process_args didn't return `@option` after r30939.
23923 Tue Jul 12 14:07:46 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
23925 * signal.c (install_sighandler): fixed a race.
23927 Tue Jul 12 13:49:32 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
23934 * test/ruby/test_signal.rb (TestSignal#test_reserved_signal):
23935 added a test for reserved signal.
23937 Tue Jul 12 11:58:28 2011 NAKAMURA Usaku <usa@ruby-lang.org>
23939 * win32/setup.mak: support x86-amd64 cross compile environment.
23941 Mon Jul 11 23:22:28 2011 Yutaka Kanemoto <kanemoto@ruby-lang.org>
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.
23946 Mon Jul 11 15:54:24 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
23948 * process.c: removed signal() macro. It's no longer used.
23950 Mon Jul 11 15:02:24 2011 NAKAMURA Usaku <usa@ruby-lang.org>
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.
23956 Mon Jul 11 05:38:05 2011 Yutaka Kanemoto <kanemoto@ruby-lang.org>
23958 * thread_pthread.c (get_stack): need to adjust stack addr for
23959 [Bug #1813] on AIX.
23961 Mon Jul 11 01:16:27 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
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]
23970 * eval_intern.h: removed rb_trap_restore_mask().
23971 * vm_eval.c (rb_throw_obj): ditto.
23972 * eval.c (setup_exception): ditto.
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.
23980 * signal.c (rb_disable_interrupt, rb_enable_interrupt): made
23981 static and removed sigdelset(SIGVTALRM) and sigdelset(SIGSEGV).
23983 * process.c (rb_syswait): removed implicit signal handler change.
23985 Sun Jul 10 23:49:12 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
23987 * docs/NEWS-1.9.3: moved from NEWS.
23989 * docs/ChangeLog-1.9.3: merged ChangeLog for 1.9.3.
23991 * NEWS: NEWS for 1.9.4 that describes changes since 1.9.3
23993 * ChangeLog: new ChangeLog for 1.9.4.
23995 Sun Jul 10 23:30:52 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
23997 * version.h (RUBY_VERSION): ruby_1_9_3 branch was forked.
23999 For the changes before 1.9.3, see doc/ChangeLog-1.9.3
24000 For the changes before 1.8.0, see doc/ChangeLog-1.8.0
24004 add-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)))
24011 indent-tabs-mode: t
24013 change-log-indent-text: 2
24015 vim: tabstop=8 shiftwidth=2