* 2022-01-18 [ci skip]
[ruby-80x24.org.git] / doc / ChangeLog-2.0.0
blobb51d74220370ec3b127878dd06240dc8ebbee921
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
38           user_interaction.rb
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
51           code.
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
113           missing at r39130.
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
146           nagachika
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
172           configured values.
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
205           respond_to? method.
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
264           useless.
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
274           of IFUNC frame.
275           When `rb_binding_new_with_cfp()' is called, VM finds out the first
276           normal (has iseq) frame and create a binding object of this frame
277           and create Env objects. `ep's of related frames are updated
278           (`ep's point Env object managed spaces).
279           However, `ep' of skipped IFUNC frame was not updated and
280           old invalid `ep' was remained. It causes serious problems.
281           To solve this issue, permit IFUNC to create binding.
282           (Maybe there is no problem on it)
283           [ruby-dev:46908] [ruby-trunk - Bug #7774]
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
305           raw`.
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
316           Enumerators.
317           This makes Lazy#cycle no longer needed, so it was removed.
318           Make Enumerator#chunk and slice_before return lazy Enumerators.
319           [Bug #7715]
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
337           `gem push --host`
338         * lib/rubygems/gemcutter_utilities.rb:  ditto.
339         * test/rubygems/test_gem_commands_push_command.rb:  Test for the above.
340         * test/rubygems/test_gem_gemcutter_utilities.rb:  ditto.
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,
436           not tenths.
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
501           previous commit.
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.
527           [Bug #7765]
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
578           unix(7) for details.
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.
594           (unix_addr): 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
674           tempfile explicitly.
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.
685           [Bug #7635]
686           And also fix issue of collecting klass. Collecting klass is same
687           as TracePoint#defined_class.
688           (previous version, it returns T_ICLASS (internal objects).
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
811           XP or earlier.
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
857           details from RDoc
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
866           support is dropped.
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
871           by Thomas Leitner.
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
896           [Bug #7706]
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
901           [Bug #7706]
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.
942           [Feature #2294]
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
954           Dias.
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.
967           Fixes #240 on github
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
980           rdoc issue #171
981         * lib/rdoc/attr.rb:  ditto.
982         * lib/rdoc/class_module.rb:  ditto.
983         * lib/rdoc/top_level.rb:  ditto.
984         * test/rdoc/test_rdoc_any_method.rb:  Test for above.
985         * test/rdoc/test_rdoc_attr.rb:  ditto.
986         * test/rdoc/test_rdoc_class_module.rb:  ditto.
987         * test/rdoc/test_rdoc_constant.rb:  ditto.
988         * test/rdoc/test_rdoc_top_level.rb:  ditto.
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
999           hash sign.
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
1091           indentation.
1093 Thu Jan 17 09:30:21 2013  Eric Hodel  <drbrain@segment7.net>
1095         * lib/rubygems/installer.rb:  Untaint string when checking output
1096           for $SAFE=1
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,
1111           BEGIN, END.
1112         * doc/syntax/modules_and_classes.rdoc (Constants):  Fixed unwrapped
1113           paragraph with trailing whitespace.
1114         * doc/syntax/modules_and_classes.rdoc (Scope):  Added section pointing
1115           to alias and undef documentation.
1116         * doc/syntax.rdoc:  Added link to miscellaneous section.
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
1121           the flip-flop.
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
1131           github by Doug Yun.
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
1146           files
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
1169           about retry.
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
1181           for this patch.
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
1191           operator methods.
1192         * doc/syntax/methods.rdoc (Return Values):  Added note that assignment
1193           methods ignore return values.
1194         * doc/syntax/precedence.rdoc:  Added document describing precedence.
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
1228           by Tony Arcieri
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
1235           Arguments
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
1242           calls.
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
1277           `TYPE(x) == t`.
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
1336           [Github Fixes #233]
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):
1364           ditto.
1366         * test/win32ole/test_win32ole_variant.rb (test_s_new_with_ui8_byref):
1367           ditto.
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
1419           unchanged.
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
1451           documentation.
1453         * load.c: ditto
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
1491           shield.
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]
1521           [ruby-core:51296]
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
1535           should be 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.
1590           [Bug #7668]
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.
1622           Suggested by akr.
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
1633           documentation.
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
1645           scheme. [Bug #7650]
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
1656           Masato).
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
1677           Dave Brown.
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
1688           maintainability.
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
1713           compiling.
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
1731           variable warnings.
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
1738           bug #164
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.
1756           RDoc bug #167
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
1770           cross build.
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
1815           [Fixes Github #229]
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
1861           [Bug #7632].
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
1901         * hash.c: ditto
1902         * missing/setproctitle.c: ditto
1903         * missing/crt_externs.h: declare _NSGetEnviron() function and define environ
1904           for iOS
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]
1922           [ruby-dev:46801]
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
1953           irb[Bug #5648].
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
1958           when limit is nil.
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
1966           shorten warning
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
1985           [Bug #6339].
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
2011           valid or 7bit.
2013         * string.c (rb_str_enumerate_lines, rb_str_chop): reduce duplicated
2014           code.
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
2124           sym_never.
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
2183           2.0.0.preview3
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.
2205           [Feature #6670]
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
2224           rb_num_coerce_bit.
2226         * numeric.c (rb_num_coerce_bit): the new coerce function for bitwise
2227           binary operation.
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]
2279           [Bug #7573]
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
2303           Windows.
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):
2356           CPtr -> Pointer.
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):
2364           CPtr -> Pointer.
2365         * test/fiddle/test_c_struct_entry.rb
2366           (Fiddle::TestCStructEntity#test_aref_pointer_array):
2367           Added the test for the above.
2369 Fri Dec 21 22:43:36 2012  Kouhei Sutou  <kou@cozmixng.org>
2371         * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof):
2372           CPtr -> Pointer.
2373         * test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof):
2374           Added the test for the above.
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
2379           removed at r38532.
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
2399           half baked.
2400           C APIs are remained as experimental. These functions will be
2401           renamed, removed their parameters may be changed.
2402           You can use these methods by C exts. Please give us your comments.
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
2412           each time.
2413           `bind->env' may update after `eval()'.
2414            [Bug #7536]
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.
2435             }
2436           I believe nobody mix threads at trace procedure.
2437           This is current limitation.
2438           [Bug #7590]
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
2448           ID_ATTRSET.
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
2462         * doc/rake/*:  ditto
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
2530           false.
2531         * test/openssl/test_fips.rb: remove tests that cause errors on
2532           ruby-ci.
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
2539           documentation.
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
2551           providing a patch!
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
2566           test_syntax.rb.
2568         * test/ruby/envutil.rb (assert_normal_exit): validate syntax before
2569           running because this assertion passes even if the code fails by
2570           SyntaxError.
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
2576           tests.
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
2581           mode manually.
2582         * test/openssl/utils.rb: turn off FIPS mode for tests. This prevents
2583           OpenSSL installations with FIPS mode enabled by default from raising
2584           FIPS-related errors during the tests.
2585         * test/openssl/test_fips.rb: add tests for FIPS-capable OpenSSL
2586           installations.
2587           [Feature #6946] [ruby-core:47345]
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).
2612           If (2) bothers you,
2613             (a) Use 64bit CPU with big memory, or
2614             (b) Specify RUBY_FIBER_(VM|MACHINE)_STACK_SIZE correctly.
2615           You need to choose correct stack size carefully. These values
2616           are completely rely on systems (OS/compiler and so on).
2617           [Feature #4614], [Bug #7212]
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
2622           above setting.
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
2645           for parser.
2646           reported by whiteleaf at [ruby-list:49085] [ruby-dev:46738]
2647           [Bug #7562]
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
2676           maintainability.
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
2697           argument.
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
2710           return value.
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
2722           files.
2723         * test/rdoc/test_rdoc_encoding.rb:  Test for above.
2725         * lib/rdoc/parser.rb:  Set the parser file name of ruby executables
2726           correctly.
2727         * test/rdoc/test_rdoc_parser.rb:  Test for above.
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
2737           RDoc.
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]
2752           [Bug #7570]
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.
2797           [Background]
2798           Now, VM has opt_plus instructions to optimize `+' methods for
2799           some Classes (such as Fixnum, Float (flonum)). We call this
2800           type of instructions as `specialized instructions'.
2801           This simple technique improve simple program dramatically.
2802           However, we can make specialized instructions for only several
2803           types (classes) and selectors (method names) because a large
2804           instruction will be slow. In other words, this technique has no
2805           extensibility.
2806           To overcome this problem, VM_METHOD_TYPE_CFUNC_FRAMELESS was
2807           introduced (r37198). This type is a variant of CFUNC, but called
2808           their functions directly without building a method frame.
2809           Any CFUNC method can be defined as frameless methods if a method
2810           is not needed to make method frame. Frameless methods are faster
2811           as specialized instructions (a bit slower, but no need to care).
2812           No problem described at
2813           http://charlie.bz/blog/why-do-singleton-methods-make-ruby-slow
2814           because this technique doesn't see class, but see method body
2815           itself. Alias is also no problem.
2816           [Problem]
2817           However, we can't set frameless method type for polymorphic methods
2818           such as Array#[]. Necessity for method frame depends on which
2819           parameter type. For example, Fixnum#+ needs method frame if
2820           coerce is needed. Current VM_METHOD_TYPE_CFUNC_FRAMELESS is not
2821           flexible and need more tuning to introduce it.
2822           Expected behavior of frameless method type may be:
2823             result = optimized_cfunc(params); /* call optimized cfunc */
2824             if (result == Qundef) { result = normal_cfunc(); }
2825           This is why I say this feature is half-baked.
2826           We need to learn primitive method in Smalltalk more.
2827           (I heard this name at RubyConf Taiwan this month. Thanks!)
2828           [Conclusion]
2829           I remove this feature and consider again.
2830           This feature goes to next minor (2.1?).
2831           Nobody may use this feature and there is no compatibility issue.
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
2846           after 2.0.
2847           But compatibility with `set_trace_func' is broken. This means that
2848           you can not replace all `set_trace_func' code with TracePoint
2849           without consideration of this behavior.
2850           [Bug #7554]
2852         * test/ruby/test_settracefunc.rb: change a test to catch up
2853           an above change.
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
2902           warning.
2904         * test/rubygems/test_gem_rdoc.rb:  RDoc generation depends on installed
2905           version of RDoc.
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
2963           -> io_fflush.
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
2992           need any wait.
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()
2997           check.
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):
3021           add t.join.
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
3075           in r38365.
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
3140           modules from C.
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
3172           strings.
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
3291           properly.
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
3306           without Fiddle.
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
3327           up at top-level.
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
3357           the latter.
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
3391           superclass <M>'.
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
3450           RubyGems 1.8.x
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
3456           refinements.
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
3463           refinements.
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
3480           blocks.
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
3498           cleaning up.
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
3504           for local gems.
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
3564           check all reports.
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
3578           be a module.
3580         * insns.def (defineclass): do not activate refinements in a class or
3581           module.
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
3609           documentation
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
3630           on marshaling.
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
3684           same method.
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
3694           a refined method.
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
3727           syntax.  [Bug #6265]
3728         * lib/rubygems/commands/install_command.rb:  ditto
3729         * lib/rubygems/commands/uninstall_command.rb:  ditto
3730         * lib/rubygems/indexer.rb:  ditto
3731         * lib/rubygems/security/policy.rb:  ditto
3732         * lib/rubygems/security.rb:  ditto
3733         * lib/rubygems/uninstaller.rb:  ditto
3734         * test/rubygems/test_gem_commands_cert_command.rb:  ditto
3735         * test/rubygems/test_gem_package.rb:  ditto
3736         * test/rubygems/test_gem_security.rb:  ditto
3737         * test/rubygems/test_gem_security_policy.rb:  ditto
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
3781           the above.
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):
3787           test for the above.
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
3792           the current self.
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
3821           before jumping out.
3822         * test/ruby/test_thread.rb (test_async_interrupt_with_return): add test
3823           rescue has to catch a queued async exception at the time of return.
3824         * test/ruby/test_thread.rb (test_async_interrupt_with_break): add test
3825           rescue has to catch a queued async exception at the time of break.
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):
3890           test for the above.
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
3896           methods.
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
3943           instruction.
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
3962           extensions.
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.
4003           [Bug #7502]
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):
4032           merge from Emacs.
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).
4058           [Bug #7495]
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.
4116           [Feature #6539]
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.
4131           [Feature #6539]
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.
4137           [Feature #6539]
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
4150           cv deadlock test.
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
4155           @waiters.
4156         * test/thread/test_queue.rb (test_sized_queue_and_wakeup): remove
4157           a test because @waiters no longer have a chance to duplicated. Now it's
4158           a hash.
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].
4170           [Bug #6742]
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
4195             library directory.
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.
4211         * vm_eval.c: ditto
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
4222           case-insensitive.
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
4233           built-in gems.
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
4239           in rb_ary_new3().
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)
4289             is contains.
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
4314           for the above.
4315         * test/ruby/test_thread.rb (test_async_interrupt_timing_invalid_argument):
4316           test for the above.
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>
4339         [EXPERIMENTAL]
4340         * iseq.c: add following two methods.
4341           * ISeq#line_trace_all returns all line traces (line numbers)
4342           * ISeq#line_trace_specify(pos, set) set `pos'th line event to
4343             specified_line event (if set is true).
4344           These features are introduced for debuggers (mainly to make
4345           breakpoint).
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
4370           above method.
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
4454             library directory.
4456 Fri Nov 30 19:30:00 2012  Zachary Scott  <zachary@zacharyscott.net>
4458         * vm_trace.c:
4459           tracepoint_attr_return_value (TracePoint#return_value):
4460             include `:b_return` for method doc
4461           tracepoint_enable_m, tracepoint_disable_m (#enable/#disable):
4462             don't have block argument, document block scope
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
4497           and call.
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
4568           for bundler.
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
4576           suppressed pattern.
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
4585           user-friendly.
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
4616           performance
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
4624           name properly.
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
4640           for above.
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.
4668         * insns.def: ditto.
4670         * thread.c: ditto.
4672         * vm.c: 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.
4686         * NEWS:  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.
4696         * vm_eval.c: ditto.
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
4747           same method.
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
4757           a refined method.
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.
4768           [Feature #7190]
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
4780           RubyGems.
4781         * test/test_tracer.rb:  ditto.  Improved failure message if the test
4782           fails
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
4805           build-dir problems.
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
4813           necessary).
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
4818           int variable.
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
4856           files.
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
4895           to make it fast.
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
4937           like Array#[].
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
4954           the same.
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.
4968         * insns.def: ditto
4969         * probes_helper.h: ditto
4970         * test/dtrace/test_function_entry.rb: ditto
4971         * test/dtrace/test_singleton_function.rb: ditto
4972         * vm.c: ditto
4973         * vm_eval.c: ditto
4974         * vm_insnhelper.c: ditto
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):
5040           ditto.
5042         * ext/psych/extconf.rb: mingw32 also needs macros for win32, not
5043           only mswin32.
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):
5072           test for the above.
5073         * test/ruby/test_thread.rb (test_thread_status_in_trap): test for
5074           thread status in trap.
5075         * test/ruby/test_thread.rb (test_status_and_stop_p): remove
5076           Thread.control_interrupt unsafe test. Thread#kill no longer
5077           changes thread status. Instead of, Thread#kill receiver changes
5078           their own status when receiving kill signal.
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.
5097           [Bug #4559]
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
5104           subdirectory.
5105         * lib/rdoc/generator/darkfish.rb:  ditto
5106         * test/rdoc/test_rdoc_servlet.rb:  Test for above
5107         * test/rdoc/test_rdoc_servlet.rb:  ditto
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,
5126           not into srcdir.
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
5132           a deadlock.
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
5176           too.
5177         * thread.c (thread_join_m): remove trap handler check.
5178         * test/ruby/test_thread.rb (test_thread_join_in_trap): add test
5179           for thread#value.
5180         * NEWS: documentation fix for the above.
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
5200           with DL.
5201         * ext/fiddle/fiddle.h: ditto
5202         * ext/fiddle/lib/fiddle/cparser.rb: importing the C parser for DL
5203           backwards compatibility.
5204         * ext/fiddle/lib/fiddle/import.rb: importing the import DSL for DL
5205           backwards compatibility.
5206         * ext/fiddle/lib/fiddle/pack.rb: importing structure pack for DL
5207           backwards compatibility.
5208         * ext/fiddle/lib/fiddle/value.rb: ditto
5209         * ext/fiddle/lib/fiddle/struct.rb: importing struct DSL for DL backwards
5210           compatibility.
5211         * test/dl/test_c_struct_entry.rb: importing tests
5212         * test/dl/test_c_union_entity.rb: ditto
5213         * test/dl/test_cparser.rb: ditto
5214         * test/dl/test_import.rb: ditto
5215         * test/fiddle/test_c_struct_entry.rb: ditto
5216         * test/fiddle/test_c_union_entity.rb: ditto
5217         * test/fiddle/test_cparser.rb: ditto
5218         * test/fiddle/test_import.rb: ditto
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
5245           to Fiddle::Handle.
5246         * ext/fiddle/pointer.c: Make Fiddle independent of DL, copy
5247           DL::Pointer to Fiddle::Pointer.
5248         * test/fiddle/test_func.rb: relevant tests
5249         * test/fiddle/test_handle.rb: ditto
5250         * test/fiddle/test_pointer.rb: ditto
5251         * ext/dl/lib/dl/struct.rb: use Fiddle::Pointer if available
5252         * ext/fiddle/extconf.rb: check for dlfcn.h
5253         * ext/fiddle/fiddle.c: add constants for sizeof() things
5254         * ext/fiddle/fiddle.h: include dlfcn.h
5255         * ext/fiddle/function.c: expose a C function for creating new
5256           Fiddle::Function objects.
5257         * ext/fiddle/lib/fiddle.rb: include constants for dl backwards compat
5258         * ext/fiddle/lib/fiddle/function.rb: read the pointer from the
5259           function for dl backwards compat.
5260         * test/dl/test_callback.rb: check the addresses of the pointers rather
5261           than their types.
5262         * test/fiddle/helper.rb: remove dependency on dl
5263         * test/fiddle/test_closure.rb: ditto
5264         * test/fiddle/test_fiddle.rb: ditto
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
5296           to point block.
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
5340           import.
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)
5350         * bin/rdoc:  ditto
5351         * test/rdoc*:  ditto
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):
5369           test for the above.
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
5378           is a main thread.
5379         * test/ruby/test_thread.rb (test_thread_join_main_thread):
5380           test for the above.
5381         * NEWS: news for the above.
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):
5388           test for the above.
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.
5414         * vm_core.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
5473           th->in_trap.
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
5491           th->thread_mask.
5493         * vm_core.h (RUBY_VM_INTERRUPTED_ANY): new macro for avoiding
5494           bare th->interrupt_flag.
5495         * vm_core.h (RUBY_VM_INTERRUPTED, RUBY_VM_INTERRUPTED): check
5496           th->interrupt_mask.
5497         * thread.c (set_unblock_function, rb_thread_schedule): replace
5498           th->interrupt_flag with RUBY_VM_INTERRUPTED_ANY()
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).
5512           [Bug #6786]
5514 Mon Nov 26 19:10:53 2012  Koichi Sasada  <ko1@atdot.net>
5516         * bootstraptest/test_thread.rb: try to `join' each 100
5517           threads.
5518           This benchmark seems consuming long time on travis-ci
5519           several times (and make `failure').
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
5558           for the above.
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
5568           value.
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
5594           code.
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
5622           String#chars.
5624         * string.c (rb_str_each_codepoint, rb_str_codepoints): Ditto for
5625           String#codepoints.
5627         * string.c (rb_str_each_byte, rb_str_bytes): Ditto for
5628           String#bytes.
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
5645           of WeakRef.
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
5668           definition.
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
5678           nkf_char.
5680 Sat Nov 24 19:29:18 2012  Tadayoshi Funaba  <tadf@dotrb.org>
5682         * test/ruby/test_rubyoptions.rb (test_usage, test_usage_long):
5683           reduced, renamed.
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
5705           on x64 mingw.
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
5714           for the above.
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
5720           initialized.
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
5746           assertion.
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
5778           validity.
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
5827           lines. [Bug #7370]
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
5894           macro.
5895         * compile.c: ditto.
5896         * cont.c: ditto.
5897         * math.c: ditto.
5898         * node.c: ditto.
5899         * parse.y: ditto.
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.
5950         * common.mk: ditto.
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.
5995           [Feature #6895]
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
6007           event.
6008           Please review and give us feedback until next preview
6009           release (Dec/2012) of Ruby 2.0.0.
6010           [Feature #6895]
6012         * insns.def, vm.c, vm_eval.c, vm_insnhelper.c, eval.c, thread.c:
6013           ditto.
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
6038           another process.
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.
6045           [Bug #5530]
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
6059           API.
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
6065           for portability.
6066           As the note, FreeBSD 8 has DTrace as the optional
6067           feature (it is enabled by the build option), but doesn't have USDT.
6068           FreeBSD 9 has USDT but they are still optional. FreeBSD 10 will
6069           enable them by default.
6070           The variable $rb_cv_prog_dtrace_g is "yes" only on FreeBSD 9 with
6071           optional DTrace or FreeBSD 10. If it is "no", you cannot know
6072           whether it doesn't need -G or DTrace is disabled. (by checking
6073           error code, you can know)
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
6087           on it.
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
6093           GET_THREAD().
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
6098           comment.
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
6117           mask.
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
6127           USE_TRAP_MASK.
6128         * signal.c (trap_arg, trap_ensure): removed.
6129         * signal.c (trap, sig_trap): removed pointless signal disabling.
6130           We don't need it because we no longer run trap handler on signal
6131           handler context.
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
6141         [Feature #5613]
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
6178           specific method.
6179           And fix to accept `level' and `n' parameters for `Thread#backtrace'
6180           and `Thread#backtrace_locations'.
6181           `caller' (and `caller_locations') do not return `caller' method
6182           frame.
6183           However, `Thread#backtrace' (and `Thread#backtrace_locations')
6184           return `Thread#backtrace' method frame itself
6185           if `Thread.current.backtrace' was called.
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
6196           see $(srcdir).
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
6291           characters.
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.
6359           [ruby-core:46547]
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
6378           is set in it.
6380         * configure.in (DTRACE): ignore non-prefixed version if
6381           cross-compiling.
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
6408           [ruby-dev:46522]
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.
6416         * test/rake*:  ditto
6418         * NEWS:  ditto
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.
6426         * test/rake*:  ditto
6428         * bin/rake:  ditto
6430         * NEWS:  ditto
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
6452         * man/irb.1: ditto
6453         * man/rake.1: ditto
6454         * man/ri.1: ditto
6455         * man/ruby.1: ditto
6456           Patch by Arthur Gunn
6457           [Fixes Github #210]
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.
6497         * vm_eval.c: ditto.
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
6586           raised.
6588         * gc.c: Add DTrace probes for mark begin and end, and sweep begin and
6589           end.
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
6605           allocation.
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
6622           methods.
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
6645           nmake.
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
6693           refinements.
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
6748           4.7.
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
6753           beg > array length.
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.
6762           [Feature #6638]
6763           - when array owns its shared array (ARY_SHARED_NUM == 1), and there
6764             is enough space then try unshift values directly into shared
6765             array.
6766           - when resulting array is big (~>64 items) then make it shared with
6767             enough room for future #unshifts, and then insert into shared
6768             array.
6770         * array.c (rb_ary_splice): use shared array in rb_ary_slice.
6771           [Feature #6638]
6772           - use ary_ensure_room_for_push when rb_ary_slice used to add at the
6773             end of array, cause rb_ary_concat use rb_ary_slice.
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
6786             it useful.
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>
6824         * io.c (IO#new):
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
6933           sized enumerators.
6935         * array.c: Support for various enumerator.size.
6937         * enum.c: ditto.
6939         * hash.c: ditto.
6941         * numeric.c: ditto.
6943         * range.c: ditto.
6945         * string.c: ditto.
6947         * struct.c: ditto.
6949         * vm_eval.c: ditto.
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
6963           it is not a File.
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
7026           String object.
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
7036           reduce expand cost.
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):
7043           add declarations.
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)
7080           on every require.
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
7091           its elements.
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
7103           entries.
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
7140           of the function.
7142         * load.c (rb_feature_p): explain the search loop.  Especially
7143           useful because the logic is complicated as described in the
7144           second paragraph.
7145           Patch by Greg Price.
7146           [ruby-core:47970] [Bug #7158]
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
7159           uncommon.mk.
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.
7168           [Bug #6825]
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
7180           [Fixes #209 Github]
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
7202           range.
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'
7228           calls.
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
7234           and test-unit gem.
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
7248           and \z.
7250 Sat Nov  3 14:42:55 2012  Kouhei Sutou  <kou@cozmixng.org>
7252         * lib/rexml/output.rb (REXML::Output#initialize): Use normalized
7253           encoding name.
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
7268           isn't normalized.
7270 Sat Nov  3 13:26:00 2012  Zachary Scott  <zachary@zacharyscott.net>
7272         * dir.c (Dir#glob):
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>
7279         * io.c (IO#new):
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
7296           encoding.
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
7319           [Fixes #208 Github]
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.
7334           [Feature #3346]
7336         * NEWS:  ditto
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
7377           is defined.
7379         * eval.c (rb_mod_refine): store information on a refinement for the
7380           above change.
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
7418           module.
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.
7441           patched by mame.
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
7475           type.  fix r37397.
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
7510           natural English.
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
7520           tests.
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]
7552         * vm.c: ditto
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
7585           by UTF-8 with BOM.
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
7596           XML declaration.
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
7612           consider about it.
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
7617           by UTF-16 with BOM.
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
7622           empty string.
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
7638           indent in document.
7640 Sun Oct 28 14:59:14 2012  Kouhei Sutou  <kou@cozmixng.org>
7642         * lib/rexml/document.rb (REXML::Document#write): Accept options
7643           Hash as argument.
7644         * test/rexml/test_document.rb: Add tests for the above change.
7646 Sun Oct 28 14:09:44 2012  Kouhei Sutou  <kou@cozmixng.org>
7648         * lib/rexml/document.rb (REXML::Document#write): Fix wrong usage
7649           in document.
7651 Sun Oct 28 14:03:48 2012  Kouhei Sutou  <kou@cozmixng.org>
7653         * lib/rexml/document.rb (REXML::Document#write): Fix wrong method
7654           names in document.
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.
7673           Feature #3222
7675         * include/ruby/ruby.h: Fixnum instances are also frozen.
7677         * class.c (singleton_class_of): check Bignum before
7678           singleton checking.
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()
7744           on mingw32.
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
7794           this function.
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
7847           PUSH_TAG().
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
7902           their `frame'.
7903           After evaluation on my environment, this optimization does not
7904           effective every time. Because of this evaluation results, this
7905           optimization is disabled at default.
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
7985           or flags.
7987         * gc.c: ditto
7989         * array.c: use new C API.
7990         * bignum.c: ditto
7991         * class.c: ditto
7992         * complex.c: ditto
7993         * ext/socket/ancdata.c: ditto
7994         * ext/socket/option.c: ditto
7995         * hash.c: ditto
7996         * io.c: ditto
7997         * marshal.c: ditto
7998         * numeric.c: ditto
7999         * object.c: ditto
8000         * random.c: ditto
8001         * range.c: ditto
8002         * rational.c: ditto
8003         * re.c: ditto
8004         * string.c: ditto
8005         * struct.c: ditto
8006           [Feature #7177][Feature #7047]
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'.
8076           (commit miss)
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
8153           r36973.
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
8182           `aux.opt_pc'.
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]
8200           [Bug #7120]
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
8319           return.
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
8453           time.
8454           This technique simplifies parameter passing at related
8455           function calls (~10% speedups for simple method invocation at
8456           my machine).
8457           `rb_call_info_t' also has new function pointer variable `call'.
8458           This `call' variable enables to customize method (block)
8459           invocation process for each place. However, it always call
8460           `vm_call_general()' at this changes.
8461           `rb_call_info_t' also has temporary variables for method
8462           (block) invocation.
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
8490           test.
8492         * test/ruby/test_regexp.rb (TestRegexp#check): now can accept the
8493           error message.
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
8501           more test pattern.
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
8506           the content.
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
8573           operands.
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.
8695           [ruby-core:39772]
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.
8718         * compile.c: ditto.
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()
8730           check $SAFE.
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
8778           at suitable point.
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]
8791           [Bug #7084]
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]
8799           [Feature #7095]
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].
8817           [Feature #7103]
8819 Wed Oct  3 04:36:11 2012  Eric Hodel  <drbrain@segment7.net>
8821         * ext/openssl/ossl_x509store.c (ossl_x509store_add_file):  Added
8822           documentation
8823         * ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths):
8824           ditto
8825         * ext/openssl/ossl_x509store.c (ossl_x509store_add_cert):  ditto
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
8830           taint messages.
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
8841           hash.
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
8899           work.
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
8904           is not a module.
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
8931           case-insensitive.
8932           pick from upstream to fix a failure of test-all [ruby-core:47711]
8933          https://github.com/rubygems/rubygems/commit/c474edb2f3704206f04da1c8c6cf9fb079d84abe
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:
9008           ditto.
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
9039           case.  [Bug #7036]
9041         * lib/mkmf.rb (create_makefile): use timestamp file dependencies for
9042           directories.
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.
9063           [Bug #6929]
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]
9114           [Bug #7038]
9116         * vm_eval.c (rb_check_block_call): check_funcall variant with block
9117           function.
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
9211           enough.
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):
9289           new test.
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):
9309           new functions.
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]
9329           [Feature #6993]
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
9370           template.
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
9407           Ruby CI.
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
9432           rubyci).
9433           test/openssl/utils.rb: Replace DSS1 as certificate signature
9434           digest with SHA1 for FIPS installations when using DSA by
9435           introducing TestUtils::DSA_SIGNATURE_DIGEST.
9436           test/openssl/test_x509cert.rb:
9437           test/openssl/test_x509crl.rb:
9438           test/openssl/test_x509req.rb: Use DSA_SIGNATURE_DIGEST
9439           NEWS: Introduce OpenSSL::OPENSSL_FIPS
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
9450           new one each time.
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):
9458           follow above.
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
9495           GitHub.
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]
9534           [Bug #6944]
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.
9564           [ruby-talk:398687]
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]
9590           [Bug #6930]
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
9642           on Mac.
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]
9652           [Bug #6930]
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
9665           libs for Windows.
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
9685           filesystem.
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
9696           path expansion.
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
9701           existing behaviors.
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
9711           `rm id.h`.
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
9758           are b10.
9759           If flonum is activated, then USE_FLONUM macro is 1.
9760           I'll write detailed in this technique on
9761           https://bugs.ruby-lang.org/projects/ruby-master/wiki/Flonum_tech
9763         * benchmark/bmx_temp.rb: add an benchmark for simple
9764           Float calculation.
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.
9782         * random.c: ditto.
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
9810             bug
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
9839           the engine to syck.
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
9860           explicitly.
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 &#39;
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
9958           exception.
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.
9977           see [Bug #6882]
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
9989           example.
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
10066           macros.
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.
10086           [Feature #4347]
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
10141           given strings.
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
10154           thread.c.
10156         * thread.c: ditto.
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.
10170           [Bug #6851]
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
10207           cross-compiling.
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.
10288           [Bug #5423]
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
10323           instance_eval.
10325         * vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow method
10326           definition in instance_eval of special constants.  [ruby-core:28324]
10327           [Bug #2788]
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
10364           available.
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
10386           implementation.
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
10405           a object directly.
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.
10443           [ruby-dev:46025]
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
10494           locale on Windows.
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.
10523           [Bug #6749]
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
10575           explicitly.
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.
10581           Follow up r36556.
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
10643           RDoc.
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]
10664         * NEWS:  ditto
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
10708           above changes.
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
10732           accidentally.
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
10767           cleanup of markup.
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
10816           not given.
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.
10848           [Bug #6759]
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
10863           before.
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
10871           [Feature #6546]
10872         * lib/open-uri.rb:  Moved URI::Generic#find_proxy to uri/generic.
10873         * lib/uri/generic.rb:  Imported find_proxy from open-uri.
10874         * test/open-uri/test_open-uri.rb:  Moved proxy-discovery tests to URI.
10875         * test/uri/test_generic.rb:  Imported proxy-discovery tests from
10876           open-uri.
10877         * test/net/http/test_http.rb:  Added tests for proxy behavior.
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
10891           missing.
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
10923           even if argc is 0.
10925         * thread.c (rb_thread_kill): kill thread immediately if target thread
10926           is current 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
10964           platforms.
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
10983           instantiation.
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
11110           casts on them.
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 &apos; for HTML5
11143           escaping.
11144           [Feature #6620]
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.
11211           (fix_cmp): ditto.
11212           (fix_gt): ditto.
11213           (fix_ge): ditto.
11214           (fix_lt): ditto.
11215           (fix_le): ditto.
11216           (flo_eq): ditto.
11217           (flo_cmp): use rb_big_float_cmp for fixnum argument.
11218           (flo_gt): ditto.
11219           (flo_ge): ditto.
11220           (flo_lt): ditto.
11221           (flo_le): ditto.
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.
11242           (big_op): ditto.
11244         * numeric.c (flo_cmp): use rb_big_float_cmp.
11245           (flo_gt): ditto.
11246           (flo_ge): ditto.
11247           (flo_lt): ditto.
11248           (flo_le): ditto.
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.
11254           (big_gt): ditto.
11255           (big_ge): ditto.
11256           (big_lt): ditto.
11257           (big_le): ditto.
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
11277           Array#uniq!.
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
11282           all workers.
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
11288           to working set.
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++
11351           warnings.
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.
11386           [Feature #6612]
11387         * NEWS:  ditto
11388         * ext/zlib/zlib.c (zstream_expand_buffer):  Uses rb_yield when a block
11389           is given for streaming support.  Refactored to use
11390           zstream_expand_buffer_into to remove duplicate code.
11391         * ext/zlib/zlib.c (zstream_expand_buffer_protect):  Added wrapper
11392           function to pass jump state back through GVL-free section to allow
11393           zstream clean-up before terminating the ruby call.
11394         * ext/zlib/zlib.c (zstream_expand_buffer_without_gvl):  Acquire GVL to
11395           yield processed chunk of output stream.
11396         * ext/zlib/zlib.c (zstream_detach_buffer):  When a block is given,
11397           returns Qnil mid-stream and yields the output buffer at the end of
11398           the stream.
11399         * test/zlib/test_zlib.rb:  Updated tests
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.
11422         * main.c: ditto.
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.
11430         * io.c: ditto.
11431         * process.c: ditto.
11432         * signal.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
11472           index positioning
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
11521           [ruby-dev:45909]
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]
11559           [ruby-dev:45904]
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.
11605           [Feature #6615]
11606         * NEWS:  ditto.
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
11631           iclass.
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
11665           a test for it.
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
11698           unavailable.
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
11759           warning.
11760           (save_env): ditto.
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
11767           fields.
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.
11816           (save_env): ditto.
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
11828           field.
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.
11869         * io.c: ditto.
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.
11876         * io.c: ditto.
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
11891           fields.
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
11927           compilation.
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.
11949           (save_env): 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
11975           struct rb_execarg.
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
11986           struct rb_execarg.
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
11999           struct rb_execarg.
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
12005           struct rb_execarg.
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
12027           struct rb_execarg.
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
12038           fields.
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.
12061           (rb_exec): 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()"
12121           warning.
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
12181           USE_WIN32_MUTEX.
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
12199           popping a tag.
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.
12209           [Bug #6598]
12211 Sat Jun 16 07:12:28 2012  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12213         * bootstraptest/runner.rb (main): ignore -j option for compatibility
12214           with test/unit.
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
12225           results.
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.
12252           Consideration:
12253             However, pushing the `finish frame' needs costs because
12254             it needs several memory accesses.  The number of pushing
12255             `finish frame' is greater than I had assumed.  Of course,
12256             pushing `finish frame' consumes additional control frame.
12257             Moreover, recent processors has good branch prediction,
12258             with which we can ignore such trivial checking.
12259           After this commit:
12260             Finally, I decide to remove `finish frame' and `finish'
12261             instruction.  Some parts of VM depend on `finish frame',
12262             so the new frame flag VM_FRAME_FLAG_FINISH is introduced.
12263             If this frame should escape from VM function loop, then
12264             the result of VM_FRAME_TYPE_FINISH_P(cfp) is true.
12265             `leave' instruction checks this flag every time.
12266             I measured performance on it.  However on my environments,
12267             it improves some benchmarks and slows some benchmarks down.
12268             Maybe it is because of C compiler optimization parameters.
12269             I'll re-visit here if this cause problems.
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]
12289           [Bug#6591]
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
12314           in particular.
12316         * eval.c (ruby_setup): Similar to ruby_init but returns an error code
12317           instead of exit(3) on error.
12318           (ruby_eval_main): Similar to ruby_exec_node but returns the
12319           evaluation result.
12320           (ruby_eval_main_internal): renamed from ruby_exec_internal.
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.
12334         * ruby.c: ditto.
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]
12391           [Feature #6569]
12393         * lib/net/http/responses.rb: Rename Net::HTTPMultipleChoice to
12394           Net::HTTPMultipleChoices, leaving the former as alias to the
12395           latter for backward compatibility.  [ruby-core:45547]
12396           [Feature #6569]
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
12410           finite().
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
12415           ANSI mode.
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
12435           compilation.
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
12456           more headers.
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
12512           rb_execarg_fixup.
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,
12517           requested by _ko1.
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.
12526           (rb_exec): ditto.
12527           (rb_exec_err): ditto.
12528           (rb_fork): 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
12549             pointers.
12550           After this commit:
12551             Each frame has only `ep' to point respective environment.
12552             If there is parent environment, then ep[0] points parent
12553             environment (as dfp).  If there are no more environment,
12554             then ep[0] points block pointer (as lfp).  We call such ep
12555             as `LEP' (local EP).  We add some macros to get LEP and to
12556             detect LEP or not.
12557             In short, we replace dfp and lfp with ep and LEP.
12558           rb_block_t and rb_binding_t member `lfp' and `dfp' are removed
12559           and member `ep' is added.
12560           rename rb_thread_t's member `local_lfp' and `local_svar' to
12561           `root_lep' and `root_svar'.
12562           (VM_EP_PREV_EP(ep)): get previous environment pointer.  This macro
12563             assume that ep is not LEP.
12564           (VM_EP_BLOCK_PTR(ep)): get block pointer.  This macro assume
12565             that ep is LEP.
12566           (VM_EP_LEP_P(ep)): detect ep is LEP or not.
12567           (VM_ENVVAL_BLOCK_PTR(ptr)): make block pointer.
12568           (VM_ENVVAL_BLOCK_PTR_P(v)): detect v is block pointer.
12569           (VM_ENVVAL_PREV_EP_PTR(ptr)): make prev environment pointer.
12570           (VM_ENVVAL_PREV_EP_PTR_P(v)): detect v is prev env pointer.
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.
12581         * cont.c: ditto.
12583         * eval.c, eval_intern.h: ditto.
12585         * proc.c: ditto.
12587         * thread.c: 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
12599           list is a C99ism.
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
12667           pointer.
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
12761           characters long.
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
12776           after_exec.
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
12825           rb_fork_err.
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
12834           before_exec.
12835           (before_exec_non_async_signal_safe): ditto.
12836           (before_exec): call before_exec_async_signal_safe and
12837           before_exec_non_async_signal_safe.
12838           (rb_exec_async_signal_safe): call before_exec_async_signal_safe.
12839           (rb_exec_err): call before_exec_non_async_signal_safe instead of
12840           before_exec.
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
12846           keep encoding.
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
12854           simple statements.
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
12879           argument.
12880           (rb_spawn_err): don't need to give default_close_others
12881           argument for rb_spawn_internal.
12882           (rb_spawn): don't need to give default_close_others
12883           argument for rb_spawn_internal.
12884           (rb_f_system): don't need to give default_close_others argument for
12885           rb_spawn_internal.
12886           (rb_f_spawn): don't need to give default_close_others argument for
12887           rb_exec_arg_prepare.
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
12892           rb_exec_err.
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
12906           by Zachary Scott.
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
12918           instead of italic.
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
12941           and proc_exec_sh.
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
12947           return a value.
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.
12956         * io.c: ditto.
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
12967           and proc_exec_sh.
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
13005           internal.h
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
13012           for more details.
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
13025           you.
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
13031           process.
13032           command_abspath field of rb_exec_arg.
13033           (rb_exec_fillarg): call dln_find_exe_r and set command_abspath.
13034           (rb_exec_err): Give the absolute path of the invoking command for
13035           proc_exec_v, instead of the command name.
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
13074           a union field.
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.
13141         * io.c: ditto.
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.
13220         * iseq.c: ditto.
13222         * proc.c: ditto.
13224         * vm*.c: ditto.
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
13229           compatible loader.
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
13303           rb_str_new4.
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
13308           call execle().
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
13325           for execve().
13326           (rb_proc_exec_ne): extended version of rb_proc_exec_n().
13327           (rb_proc_exec_n): use rb_proc_exec_ne().
13328           (rb_proc_exec): follow proc_exec_v() change.
13329           (fill_envp_buf_i): new function.
13330           (rb_exec_arg_fixup): set up envp_str and envp_buf.
13331           (save_env_i): removed.
13332           (save_env): removed.
13333           (rb_run_exec_options_err): don't modify environment variables.
13334           (rb_exec_err): use rb_proc_exec_ne().
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
13374                     File.basename)
13375               (3-3) line_no -> lineno (We have already similar name
13376                     File#lineno, commented by kou [ruby-dev:45686]).
13377               (3-4) filename -> path.
13378               (3-5) filepath -> absolute_path.
13379               (3-5) iseq -> removed (we will make other APIs to access iseq
13380                     and other information of frame for debugging).
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
13400           this file.
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
13441           module.
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
13453           refactoring.
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
13520           modifier.
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
13540           this issue.
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.
13593           A patch from nobu.
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
13648           info.
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.
13712               variation:
13713               a) backtrace_object(): create backtrace object.
13714               b) vm_backtrace_str_ary(): create bt as an array of string.
13715               c) vm_backtrace_print(): print backtrace to specified file.
13716               d) rb_backtrace_print_as_bugreport(): print backtrace on
13717                                                     bugreport style.
13718           (2) remove rb_backtrace_each().  Use backtrace_each() instead.
13719           (3) change the type of lev parameter to size_t.
13720               a) lev == 0 means current frame (exception, etc use it).
13721               b) lev == 1 means upper frame (caller(0) use it).
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
13759           for last commit.
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
13806           specs correctly.
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
13813           of net/ftp.
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
13838           information.
13839           rb_location_t#filename, filepath, name and line_no was moved from
13840           rb_iseq_t.  rb_location_t#basename is a new field which is
13841           similar to `name' field without any decoration.
13842           `name' field contains some decoration such as `block in foo'.
13843           `basename' only contains `foo'.
13844           rb_iseq_t contains memory object of rb_location_t.
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]
13858           [ruby-dev:45451]
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
13970           a String.
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
13994           Logging.message.
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
13999           OpenSSL issue.
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]
14012         * NEWS:  ditto.
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):
14026           fix macro name.
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
14043           NaCl.
14044           (RUBY_NACL_CHECK_PEPPER_TYPES): New M4 func to check the old names
14045           of Pepper interface types.
14046           (BTESTRUBY): New variable to specify which ruby should be run on
14047           "make btest". NaCl can run the built binary by sel_ldr, but it need
14048           rbconfig.rb. So this variable is distinguished from $MINIRUBY.
14050         * thread_pthread.c: Disabled some features on NaCl.
14052         * io.c: ditto.
14054         * process.c: ditto.
14056         * signal.c: ditto.
14058         * file.c: ditto.
14060         * missing/flock.c: ditto.
14062         * nacl/pepper_main.c: An example implementation of Pepper application
14063           that embeds Ruby.
14065         * nacl/example.html: An example of web page that uses the Pepper
14066           application.
14068         * nacl/nacl-config.rb: Detects variants of NaCl SDK.
14070         * nacl/GNUmakefile.in: Makefile template for NaCl specific build
14071           process.
14073         * nacl/package.rb: script for packaging a NaCl-Ruby embedding
14074           application.
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
14081           on NaCl.
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
14123           specified.
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
14134           or dynamic.
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
14142           libraries.
14144         * ruby.c (process_options): New initializes statically linked
14145           encodings here.
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
14154           complex specifier.
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]
14189           [Bug #6403]
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
14198           above.
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]
14205           [Bug #6228]
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.
14249           This is because
14250           (1) the process receive the killing signal in
14251               rb_thread_io_blocking_region in rb_read_internal in lex_io_gets.
14252           (2) set th->errinfo as INT2FIX(TAG_FATAL) at
14253               rb_threadptr_execute_interrupts_common.
14254           (3) escape rb_load_file in rb_load_internal and jump to EXEC_TAG()
14255               without set loaded as TRUE.
14256           (4) call first rb_exc_raise(GET_THREAD()->errinfo); because loaded
14257               is FALSE as above. this errinfo should be an exception object
14258               but this is INT2FIX(TAG_FATAL).
14259           Don't call first rb_exc_raise if GET_THREAD()->errinfo is Fixnum.
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
14280           metametameta.rb.
14282         * test/minitest/test_minitest_unit.rb: Correct requiring path to
14283           metametameta.rb.
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
14288           use.
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
14331           libraries.
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
14338           causes SEGV.
14340         * test/-ext-/win32/test_fd_setsize.rb(TestFdSetSize): add tests for
14341           above.
14342         * ext/-test-/win32/fd_setsize/depend: ditto.
14343         * ext/-test-/win32/fd_setsize/extconf.rb: ditto.
14344         * ext/-test-/win32/fd_setsize/fd_setsize.c: ditto.
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
14352           more byte.
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
14403           in status line.
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):
14409           ditto.
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
14443           was used.
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
14448           argument at first.
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.
14456           patched by ayumin.
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
14551           file.
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
14605           process outputs.
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
14648           since zlib-1.2.7.
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
14702           (13) ...100ms
14703           (14) sub thread goes to rb_threadptr_execute_interrupts_common
14704           (15) sub thread call rb_thread_schedule_limits
14705           (16) sub thread call gvl_release_common
14706           (17) sub threads waits at gvl_yield:121 (native_cond_wait)
14707           (18) main threads works
14708           (19) main thread back to gvl_yield
14709           (20) set main thread as the current thread
14710           (21) main thread call gvl_yield
14711           (22) main thread waits at gvl_yield:112 (native_cond_wait)
14712           As described above, the main thread can't escape from
14713           rb_threadptr_execute_interrupts_common.
14714           See extended memo: http://bugs.ruby-lang.org/projects/ruby-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
14756           format.
14757           (addrinfo_mload): show more information on "too long AF_UNIX path"
14758           error.
14759           (addrinfo_unix_path): ditto for "too short AF_UNIX address" and
14760           "too long AF_UNIX address" error.
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.
14844           [Feature #6276]
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.
14917         [ruby-dev:45547]
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.
14922           [ruby-dev:45541]
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
14927           [Bug #6272]
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:
14934           ditto.
14935         * lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem:
14936           ditto.
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
14941           fixes:
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
14972           include the '='.
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]
14996           [Bug #6316]
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
15045           versions.
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
15070           if -O3 is given.
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
15086           reached.
15087         * variable.c (rb_obj_remove_instance_variable):  Replaced "not reached"
15088           comment with the UNREACHABLE macro.
15089         * variable.c (rb_mod_const_missing):  ditto.
15090         * variable.c (rb_mod_remove_cvar):  ditto.
15091         * enum.c (first_i):  ditto.
15092         * string.c (rb_str_aref):  ditto.
15093         * string.c (str_byte_aref):  ditto.
15094         * string.c (rb_to_id):  ditto.
15095         * io.c (rb_io_fmode_modestr):  ditto.
15096         * io.c (rb_io_oflags_modestr):  ditto.
15097         * pack.c (num2i32):  ditto.
15098         * vm_eval.c (rb_method_missing):  ditto.
15099         * vm_eval.c (rb_f_throw):  ditto.
15100         * dir.c (dir_read):  ditto.
15101         * win32/win32.c (child_result):  ditto.
15102         * struct.c (rb_struct_getmember):  ditto.
15103         * struct.c (rb_struct_set):  ditto.
15104         * struct.c (rb_struct_aref_id):  ditto.
15105         * eval.c (rb_f_raise):  ditto.
15106         * process.c (rb_f_exit_bang):  ditto.
15107         * process.c (rb_f_exit):  ditto.
15108         * process.c (rb_f_abort):  ditto.
15109         * ext/-test-/iter/break.c (iter_break_value):  ditto.
15110         * ext/pty/pty.c (pty_check):  ditto.
15111         * ext/openssl/ossl_pkey.c (ossl_pkey_new):  ditto.
15112         * ext/readline/readline.c (rb_remove_history):  ditto.
15113         * ext/stringio/stringio.c (strio_unimpl):  ditto.
15114         * numeric.c (num_sadded):  ditto.
15115         * numeric.c (num_init_copy):  ditto.
15116         * numeric.c (rb_num2ll):  ditto.
15117         * numeric.c (rb_num2ull):  ditto.
15118         * vm_insnhelper.c (call_cfunc):  ditto.
15119         * ruby.c (opt_W_getter):  ditto.
15120         * bignum.c (rb_big_coerce):  ditto.
15121         * file.c (rb_f_test):  ditto.
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
15200           compile_array.
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
15227           and OpenTimeout.
15228         * lib/net/http.rb (module Net):  ditto
15229         * lib/net/smtp.rb (module Net):  ditto
15230         * lib/net/telnet.rb (module Net):  Net::ReadTimeout is now raised in
15231           waitfor to match Net::Protocol.
15232         * test/net/http/test_http.rb:  Updated Timeout::Error expectation to
15233           Net::ReadTimeout.
15234         * test/net/ftp/test_ftp.rb:  ditto
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)
15263           and mode 'r'.
15264           [ruby-core:44189][Bug #6271]
15266         * test/ruby/test_io_m17n.rb (TestIO_M17N#test_read_crlf_and_eof):
15267           test for above.
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
15344           [Feature #4234]
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):
15365           add RB_GC_GUARD.
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
15389           new function.
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
15420           dwCreationFlags.
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
15470           read on closing.
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
15486           the getline loop.
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
15532           will be respected.
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
15546           needless.
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
15563           when ST_DELETE.
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
15572           of iterators.
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]
15597           cf. [Bug #6098]
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.
15605           cf. [Bug #6098]
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
15653           config.h.
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
15676           such as Rubinius.
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
15685           previous commit.
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
15770           one fixes the bug.
15772         * test/ruby/test_io_m17n.rb
15773           (TestIO_M17N#test_pos_dont_move_cursor_position): add a test for
15774           above bug.
15775           [ruby-core:43497] [Bug #6179]
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
15783           simply.
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.
15788           [Bug #6094]
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]
15809           [Bug #6155]
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
15821           or cycle.
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
15874           above.
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
15889           as enum_first did.
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]
15902           [Bug #5544]
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]
15908           [Bug #5777]
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
15948           remove static.
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
15960           Enumerator#next.
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
15971           Enumerator::Lazy.
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
16043         * class.c: ditto
16045         * enumerator.c: ditto
16047         * eval.c: ditto
16049         * file.c: ditto
16051         * hash.c: ditto
16053         * numeric.c: ditto
16055         * proc.c: ditto
16057         * process.c: ditto
16059         * random.c: ditto
16061         * re.c: ditto
16063         * signal.c: ditto
16065         * string.c: ditto
16067         * struct.c: ditto
16069         * transcode.c: ditto
16071         * vm_eval.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
16089           Enumerable#lazy.
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
16103           alias of to_a.
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]
16129           add ruby_float_mod
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
16191           configurations.
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
16205           clause.
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
16211           not found.
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
16323           arguments.
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
16343           st_table.
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.
16370           [ruby-core:39079]
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
16376           exception.
16378         * include/ruby/intern.h: add declaration for rb_loaderror_with_path.
16380         * test/ruby/test_require.rb: add supporting test for LoadError#path
16381           method.
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
16401           call.
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
16412           bits too.
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
16517           arguments.
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
16523           SSL uri is used.
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
16555           a warning.
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
16564           internal use only.
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
16570           already exists.
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`
16622           directory.
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`
16639           directory.
16640         * win32/Makefile.sub (MISSING): move win32.obj into `win32`
16641           directory and add win32/file.obj to MISSING.
16642         * win32/Makefile.sub (MAKEDIRS): replace MINIRUBY with BASERUBY.
16643           It's because miniruby doesn't exist when making `win32` directory.
16644         * win32/Makefile.sub (clean-platform): add new target to clean `win32`
16645           directory.
16646         * win32/Makefile.sub ({$(srcdir)}.c{}.obj): make it not match
16647           win32/file.c to build properly.
16648         * win32/Makefile.sub (win32/win32.$(OBJEXT)): move win32.obj into
16649          `win32` directory.
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
16661           strings.
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
16714           @takai.
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
16740           rb_sys_fail.
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
16750           warnings.
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
16759           on TOS instead.
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
16792           Curses::VERSION.
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.
16811           [Bug #6072]
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.
16848           [ruby-core:42849]
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
16855           handler callbacks.
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
16874           above.
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.
16889           [Bug #5816]
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
16908           overridden.
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
16935           Berkeley DB.
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
16990           for "--no-retry"
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.
17000           [ruby-dev:31525]
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
17019           since Xcode 4.3.
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.
17040         [ruby-dev:45269]
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
17051           Curses::VERSION.
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.
17058           [ruby-core:42672]
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.
17086           fixed: #6053
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
17152           an empty macro.
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
17171           is chosen.
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
17188           _DBM_IOERR.
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
17223           cp oniguruma.h
17224           cp tool/enc-unicode.rb
17225           cp -r enc/
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
17295           objspace.
17297         * internal.h (rb_fiber_reset_root_local_storage, rb_obj_is_fiber):
17298           add prototypes.
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
17306           from fiber.
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):
17314           ditto.
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
17347           strategies.
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--`.
17373           [Bug #6006]
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
17383           question marks.
17385 Tue Feb 14 12:10:04 2012  Nobuyoshi Nakada  <nobu@ruby-lang.org>
17387         * variable.c (autoload_const_set, autoload_require): fix
17388           signatures.
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]
17409           [ruby-dev:41837]
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
17424           read actually.
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
17439           structure.
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
17470           fnmatch comment.
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
17476           to be reused.
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
17490           memory size.
17492 Thu Feb  9 23:41:44 2012  CHIKANAGA Tomoyuki  <nagachika00@gmail.com>
17494         * test/pathname/test_pathname.rb (test_binread): add assertion to
17495           check encoding.
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
17514           is small.
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
17552           before.
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
17598           after unpacking.
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):
17630           ditto.
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
17652           output.
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
17679           readable again.
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
17691           in block form.
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
17746           Windows.
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
17760           with r34243.
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
17831           conversation.
17833           https://github.com/ruby/ruby/pull/72
17834           [Feature #5460]
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
17863           to rdoc-mode.
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
17871           registration.
17873         * parse.y (rb_intern_str): make interned string shared with the
17874           given string.
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
17898           change.
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
18011           variables.
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]
18017           [Bug #5894]
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
18038           by Adam Prescott.
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
18043           encodings only.
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):
18143           use rb_memerror().
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
18163           ruby_strdup.
18165 Tue Jan 10 12:13:56 2012  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
18167         * ext/readline/readline.c (readline_attempted_completion_function):
18168           fix compile error.
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):
18196           fix typos.
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
18213           for TCP.
18215 Mon Jan  9 20:08:52 2012  Tanaka Akira  <akr@fsij.org>
18217         * ext/socket/lib/socket.rb (family_addrinfo): return the given
18218           addrinfo object.
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]
18311           [ruby-core:41916].
18313         * include/ruby/ruby.h : FL_MARK rename to FL_RESERVED1.
18315         * node.h : ditto.
18317         * debug.c : ditto.
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.
18375           refs #5696
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
18404           locale date.
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
18414           is right now.
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.
18523           [ruby-core:40541]
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>
18538           [ruby-core:41772].
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
18545           ripper test.
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
18550           arguments.
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
18599           added at r34121.
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"
18608           option (r34121)
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]
18629           [ruby-core:35035]
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]
18641           [Bug #5803]
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]
18668           [Feature #4635]
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.
18696         * util.c: ditto.
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
18701           in the 0.1 second.
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.
18748           See #5248.
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 +
18783           exception.
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
18788           [ruby-dev:45008].
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
18797         * README:  ditto
18798         * common.mk:  ditto
18799         * man/erb.1:  ditto
18800         * man/irb.1:  ditto
18801         * man/ri.1:  ditto
18802         * man/ruby.1:  ditto
18803         * sparc.c:  ditto
18804         * tool/install-sh:  ditto
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
18825           from YAML.
18826         * ext/psych/lib/psych/visitors/yaml_tree.rb: BigDecimals can be dumped
18827           to YAML.
18828         * test/psych/test_numeric.rb: tests for BigDecimal serialization
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).
18900           [Bug #5711]
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
18918           must behave so.
18920         * test/ruby/test_io_m17n.rb (TestIO_M17N#test_{read_with_length,
18921           read_with_length_binmode,get[cs]_and_read_with_binmode,
18922           read_with_binmode_and_get[cs],read_write_with_binmode}): tests for
18923           above changes.
18925         all patches are written by Hiroshi Shirosaki. [ruby-core:41496]
18926         [Feature #5714]
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
18950           destroyed.
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]
18963           [Bug #5614]
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):
19076           add test for it.
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
19106           windows.
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]
19135           [Bug #5720]
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
19155           exceptions
19156         * ext/psych/lib/psych/syntax_error.rb (module Psych): allow nil file
19157           names and handle nil file names in the exception message
19158         * test/psych/test_exception.rb (module Psych): Tests for changes.
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
19165           version.
19166           [ruby-dev:44948]
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]
19250           [Feature #5562]
19252         * include/ruby/encoding.h (void rb_econv_binmode): define NEWLINE
19253           decorator.
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
19268           binary mode.
19270         * win32/win32.c (init_stdhandle): remove O_BINARY from stdhandle
19271           initialization.
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
19297           test/mkmf.
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]
19338           [Bug#5686]
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
19359           FileUtils.
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
19365           on Windows.
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
19433           unused old API.
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
19455           win32.h.
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.
19489           [Bug#5676]
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.
19516           [ruby-core:40865]
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
19522           all tests.
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
19614           stderr.
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
19632           message.
19633         * ext/openssl/ossl_ssl.c: ditto.
19634         * ext/openssl/ossl_pkey_rsa: ditto.
19635           patched by Eric Hodel [Bug #5604] [ruby-core:40896]
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
19662           have side effect.
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
19734           ifdefs.
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
19797           valid for extconf.
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
19838           assert_operator.
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
19854           macros.
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
19890           flag.
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):
19927           add FIXNUM tests.
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
19965           provide ndbm API.
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
19991           ioctl_req_t.
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
20014           of hard coded 256.
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
20105           VM directly.
20107         * vm_dump.c (rb_vm_bugreport): check if vm is non-null.
20108           Pointed out by Ikegami Daisuke <ikegami.da@gmail.com>.
20109           Thank you.
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>.
20115           Thank you.
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()
20145           already.
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.
20172           [Bug #5526]
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
20212           overflow.
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
20224           setter though.
20226         * ext/tk/tcltklib.c (RSTRING_LENINT): check overflow if necessary.
20228         * ext/tk/tcltklib.c (RbTk_ALLOC_N): wrapper for ckalloc() which
20229           takes an int.
20231         * ext/tk/tcltklib.c (ip_ruby_cmd_receiver_get, tcltklib_compile_info):
20232           get rid overflow.
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.
20246           (deviceNo): 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
20256           cannot work.
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
20262           in 1.9.3 or later.
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
20288           changes.
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 .
20324         [Bug #5585]
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"
20362           [ruby-dev:44782]
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
20402           no block is given.
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"
20429           engine.
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()
20476           call.
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]
20492           [Bug #5546]
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
20545           one.
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
20556           ext/socket.
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
20571           available.
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
20580           available.
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
20587           available.
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
20624           rb_fd_set_cloexec.
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
20645           descriptors.
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
20667           other platforms.
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
20672           available.
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
20719           rb_cloexec_pipe.
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
20729           file descriptors.
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
20740           dup3 succeeded.
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
20749           descriptors.
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.
20767           [Bug #5243]
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
20817           rb_fd_set_cloexec.
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
20835           descriptors.
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.
20851           [ruby-dev:44702]
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
20878           GCC.
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
20888           "__sparc__".
20890         * dln.c: ditto.
20892           [ruby-dev:44694]
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.
20903         * math.c: ditto.
20905         * hash.c: ditto.
20907         * atomic.h: ditto.
20909         * ext/io/wait/wait.c: ditto.
20911         [ruby-dev:44693]
20913 Mon Oct 24 22:45:37 2011  Tanaka Akira  <akr@fsij.org>
20915         * io.c: use "__sun" instead of "sun" to detect SunOS.
20917         * dln.c: ditto.
20919         * cont.c: ditto.
20921         * ext/sdbm/_sdbm.c: ditto.
20923         [ruby-dev:44693]
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
20929           Solaris 10.
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
20944           need braces.
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.
20972           (rb_pipe): ditto.
20973           (io_reopen): ditto.
20974           (io_cntl): ditto.
20976         * process.c (rb_f_exec): change the default :close_others option to
20977           true.
20978           (rb_f_system): ditto.
20979           (move_fds_to_avoid_crash): call rb_fd_set_cloexec to set
20980           close-on-exec flag.
20981           (ruby_setsid): ditto.
20982           (rb_daemon): ditto.
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
21051           socklist.
21052           allocating socklist is deferred until it is really needed.
21054         * win32/win32.c (exit_handler): delete socklist only if it is
21055           initialized.
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
21066           documentation.
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
21082           HMAC-SHA1
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
21093           for Netscape SPKI.
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
21103           binary data.
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
21148           long ago.
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
21235           Rabanal.
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.
21248           [#5411]
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
21339           values.
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
21345           line and column.
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
21351           nagachika!
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
21359           NULL.
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
21408           Gem namespace.
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
21542           maintained now.
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
21576           since ruby 1.9.0.
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.
21583         * dir.c: 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
21639           reporting this.
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
21656           blocking thread.
21657           A patch created by Koichi Sasada. [ruby-core:39634] [Bug #5343]
21658           to cover race condition, timer thread periodically send SIGVTARLM to
21659           threads in signal thread list. so you should activate timer thread
21660           when interrupt a thread.
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
21712           argument types.
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()
21749           to ruby script.
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]
21790           [ruby-core:39429]
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,
21795           not encoding.
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:
21827         * sample/mine.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
21843           are not dead.
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
21885           Syck::Object.
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.
21897           [Feature #5282]
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]
21904           (same as r33194)
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
21947           exclusive.
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
21962           #5272]
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
21967           #5271]
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
22094           newline.
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
22135           cases [Bug #5227]
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
22140           be more careful.
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):
22156           typo.
22158         * test/-ext-/old_thread_select/test_old_thread_select.rb
22159           (TestOldThreadSelect#test_old_select_signal_safe): use SIGINT instead
22160           of SIGUSR1 because the former is general and the latter is platform
22161           dependent.
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
22172           know the reason.
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
22183           purpose.
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
22199           GNU/kFreeBSD.
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
22224           change by r33108.
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
22282           encoding.h.
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.
22367           How to solve?
22368             To ensure invariant constant construction, we need to override
22369             Qundef with defined Object after the feature loading. For keeping
22370             Qundef in Constant table, I expanded autoload_data struct in
22371             Module to have a slot for keeping the defined object while feature
22372             loading. And changed Module's constant lookup/update logic a
22373             little so that the slot is only visible from the thread which
22374             invokes feature loading. (== the first thread which accessed the
22375             autoload constant)
22377           Evaluation?
22378             All test passes (bootstrap test, test-all and RubySpec) and added
22379             8 tests for threading behavior. Extra logics are executed only
22380             when Qundef is found, so no perf drop should happen except
22381             autoloading.
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
22390           autoloading.
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
22397           override warning.
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.
22434           fixes: Bug #2729
22435           a patch from Kazuki Tsujimoto <kazuki@callcc.net>
22436           This problem is caused by changing dfp (dynamic env pointer)
22437           from saved dfp.  Saved dfp is pointed env in VM stack.  However,
22438           the dfp can be moved because VM copies env from VM stack to
22439           the heap.  At this copying, dfp was also changed.  To solve this
22440           problem, I'll try to change throw mechanism (not save target dfp,
22441           but save target cfp).
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
22463           UTF-8.
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].
22493         * proc.c: ditto.
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
22547           strings from GC.
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
22552           since r33013.
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
22573           spawned process.
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
22587           is darwin.
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.
22643           [ruby-core:38972]
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
22659           Batts.  [#5192]
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]
22684           [Bug #5187]
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.
22702           [ruby-core:38913]
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
22709           of r32885.
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
22751           listen backlog.
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.
22760         [ruby-core:38493]
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
22772           in r29602.
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.
22791           [ruby-core:38538]
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
22808           above change.
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]
22834           [ruby-core:32504]
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
22874           above change.
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]
22929         * math.c: ditto.
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.
22943           [Bug #5158]
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
23041           removed the part.
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,
23088           it doesn't bypass.
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):
23108           ditto.
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
23151           parser.
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.
23169         * math.c: ditto.
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
23180           common.mk.
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
23187           replacement.
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
23215           half.
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.
23241           [Bug #5119]
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.
23265           [ruby-core:38607]
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
23281           removed.
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
23295           arguments.
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]
23322           [Bug #4929]
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
23335           #2768.
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
23348           dereference.
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
23357           classes.
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]
23376           [Bug #5104]
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].
23417           [Feature #5072]
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.
23426           [ruby-dev:44210]
23428         * test/bigdecimal/test_bigdecimal_util.rb: add test for the above
23429           change.
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
23437           change.
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
23446           change.
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
23458           a BigDecimal.
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.
23472           [ruby-core:38498]
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
23501             require "openssl"
23502           instead of
23503             require "openssl/ssl"
23504           and
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
23591           when MSG_PEEK.
23592           (rsock_discard_cmsg_resource): add msg_peek_p argument.
23593           (bsock_recvmsg_internal): call rsock_discard_cmsg_resource with
23594           msg_peek_p argument.
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.
23610           [Bug #5084]
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
23636           or 0.
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
23641           predicates.
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
23651           access.
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
23736           macro.
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
23741           internal.h.
23743         * file.c: ditto.
23745         * io.c: call rb_update_max_fd for each new fds.
23747         * process.c: ditto.
23749         * random.c: ditto.
23751         * ruby.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]
23806           [ruby-core:37206]
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
23811           trusted.
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.
23831           Bug #4977
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
23836           Kernel#URI
23837           [ruby-core:38061]
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.
23897           See #4445.
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):
23911           ditto.
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
24002 Local variables:
24003 coding: us-ascii
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
24012 tab-width: 8
24013 change-log-indent-text: 2
24014 end:
24015 vim: tabstop=8 shiftwidth=2