1Thu Dec 24 23:01:57 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2
3	* NEWS: added entry for CGI.escapeHTML optimization.
4
5Thu Dec 24 18:43:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6
7	* error.c (rb_compile_error_with_enc, rb_compile_error),
8	  (rb_compile_bug): deprecate internal functions.
9
10	* parse.y (parser_yyerror): construct exception message with
11	  source code and caret.
12
13Thu Dec 24 17:25:42 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
14
15	* compile.c (append_compile_error), parse.y (compile_error):
16	  preserve encoding of source file name in exceptions.
17
18	* error.c (rb_compile_error_str, rb_compile_bug_str): add.
19
20Thu Dec 24 16:17:47 2015  NARUSE, Yui  <naruse@ruby-lang.org>
21
22	* common.mk (fake.rb): $(arch)-fake.rb must depend on miniruby because
23	  it may depend on miniruby.
24
25Thu Dec 24 16:13:05 2015  NARUSE, Yui  <naruse@ruby-lang.org>
26
27	* common.mk (ripper.c): r50045 wrongly replace $(PWD) with ../..
28	  It is the top of build directory, not topsrcdir.
29
30Thu Dec 24 15:02:42 2015  sorah (Shota Fukumori)  <her@sorah.jp>
31
32	* tool/vcs.rb (IO.popen): Refactor. Avoid assigning in condition.
33
34Thu Dec 24 15:01:38 2015  sorah (Shota Fukumori)  <her@sorah.jp>
35
36	* tool/file2lastrev.rb: Fix ArgumentError to work on Ruby 1.8.7.
37
38Thu Dec 24 14:44:08 2015  sorah (Shota Fukumori)  <her@sorah.jp>
39
40	* tool/vcs.rb (IO.popen): Enable on Ruby 1.9 where chdir option is not
41	  supported on IO.popen
42
43	* tool/vcs.rb (IO.popen): Fix NoMethodError. I guess r49705 was not
44	  tested... :/
45
46Thu Dec 24 14:57:03 2015  Koichi Sasada  <ko1@atdot.net>
47
48	* NEWS: rename
49	  "Implementation changes" section to
50	  "Supported platform changes" section.
51
52	* NEWS: add "Implementation improvements" and add several entries.
53
54	* NEWS: add NEWS entries by Eric Wong. [ruby-core:72450]
55
56Thu Dec 24 00:26:05 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
57
58	* ext/io/console/extconf.rb: fix gem build failure on Windows.
59	  only win32_vk.inc is included in the gem and no dependencies for
60	  the header, so that gperf will not be mandatory.
61	  [ruby-core:72453] [Bug #11866]
62
63	* ext/io/console/io-console.gemspec: include depend file and
64	  win32_vk header.
65
66Wed Dec 23 23:58:44 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
67
68	* io.c (rb_readwrite_syserr_fail): works with the given errno than
69	  thread local errno.
70
71Wed Dec 23 17:57:45 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
72
73	* file.c, io.c, util.c: prefer rb_syserr_fail with saved errno
74	  over setting errno then call rb_sys_fail, not to be clobbered
75	  potentially and to reduce thread local errno accesses.
76
77Wed Dec 23 11:58:52 2015  Yuichiro Kaneko  <yui-knk@ruby-lang.org>
78
79	* string.c: Fix document. Default value of the first
80	  argument of `String#split` is not `$;` but `nil`.
81	  When `nil` is passed as first argument, `$;` is used.
82	  [ci skip] [Bug #11729] [ruby-dev:49378]
83
84Wed Dec 23 07:15:17 2015  Eric Wong  <e@80x24.org>
85
86	* ext/socket/init.c (rsock_init_sock): reject reserved FDs
87	  [ruby-core:72445] [Bug #11862]
88
89Wed Dec 23 02:59:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
90
91	* configure.in (__STDC_WANT_LIB_EXT1__): necessary to use memset_s
92	  in strict C99 mode.
93
94Wed Dec 23 02:34:36 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
95
96	* regexec.c (match_at): move direct threaded VM code to get rid of
97	  mixed declarations and code, and enable it only for gcc since it
98	  depends on a gcc extension.
99
100Wed Dec 23 02:23:19 2015  Yuki Nishijima  <mail@yukinishijima.net>
101
102	* gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0
103
104	* NEWS: Add news about the did_you_mean gem
105
106Wed Dec 23 02:18:57 2015  Jake Worth  <jakeworth82@gmail.com>
107
108	* doc/contributing.rdoc: [DOC] remove an extra word "here".
109	  [Fix GH-1169]
110
111Wed Dec 23 01:58:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
112
113	* regexec.c (USE_DIRECT_THREADED_VM): enable direct threaded VM by
114	  the default.
115
116Tue Dec 22 22:15:53 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
117
118	* gc.c (internal_object_p): should not expose singleton classes
119	  without a metaclass.  based on patches by ko1 and shugo.
120	  [Bug #11740]
121
122	* class.c (rb_singleton_class_object_p): added.
123
124Tue Dec 22 22:15:08 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
125
126	* ext/io/console/io-console.gemspec: bump up to 0.4.4.
127
128Tue Dec 22 22:11:06 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
129
130	* NEWS: Added news entry of Psych 2.0.17
131
132Tue Dec 22 22:09:01 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
133
134	* NEWS: Added news entry of RDoc 4.2.1
135
136Tue Dec 22 21:20:00 2015  Kenta Murata  <mrkn@mrkn.jp>
137
138	* ext/bigdecimal/bigdecimal.gemspec: bump version to 1.2.8.
139
140Tue Dec 22 21:08:05 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
141
142	* lib/rdoc.rb: bump version to 4.2.1. It contains following fixes.
143	  https://github.com/rdoc/rdoc/pull/340
144	  https://github.com/rdoc/rdoc/pull/341
145	  https://github.com/rdoc/rdoc/pull/367
146	  https://github.com/rdoc/rdoc/pull/368
147	* lib/rdoc/*: ditto.
148	* test/rdoc/*: ditto.
149
150Tue Dec 22 20:25:33 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
151
152	* ext/psych/lib/psych.rb: bump version to 2.0.17
153	* ext/psych/psych.gemspec: ditto.
154
155Tue Dec 22 20:14:47 2015  Koichi Sasada  <ko1@atdot.net>
156
157	* vm_insnhelper.c: move vm_callee_setup_block_arg() (and related
158	  functions) to the latter location.
159	  This moving recovers performance a little.
160	  [Bug #11829]
161
162Tue Dec 22 15:21:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
163
164	* string.c (str_compat_and_valid): as scrub does nothing for dummy
165	  encoding string now, incompatible encoding is not a matter.
166
167Tue Dec 22 14:31:28 2015  Toru Iwase  <tietew@tietew.net>
168
169	* ext/cgi/escape/escape.c (optimized_escape_html): CGI.escapeHTML
170	  should return unfrozen new string.
171	  [ruby-core:72426] [Bug #11858]
172
173Tue Dec 22 05:39:58 2015  Takashi Kokubun  <takashikkbn@gmail.com>
174
175	* ext/cgi/escape/escape.c (preserve_original_state): Preserve
176	  original state for tainted and frozen.  [Fix GH-1166]
177	  [ruby-dev:49451] [Bug #11855]
178
179Tue Dec 22 03:57:20 2015  Eric Wong  <e@80x24.org>
180
181	* ext/socket/init.c (rsock_init_sock): check FD after validating
182	* test/socket/test_basicsocket.rb (test_for_fd): new
183	  [ruby-core:72418] [Bug #11854]
184
185Mon Dec 21 21:29:45 2015  Naohisa Goto  <ngotogenome@gmail.com>
186
187	* variable.c (struct ivar_update): rename "extended" to "iv_extended"
188	  to avoid name conflict with /usr/include/floatingpoint.h on
189	  Solaris. [Bug #11853] [ruby-dev:49448]
190
191Mon Dec 21 12:15:32 2015  Kimura Wataru  <kimuraw@i.nifty.jp>
192
193	* test/ruby/test_io.rb: handled rlimit value same as r52277
194	  [Bug #11852][ruby-dev:49446]
195
196Mon Dec 21 10:21:22 2015  Ilya Vassilevsky <vassilevsky@gmail.com>
197
198	* lib/net/http.rb (open_timeout): update default value in RDoc
199	  [ruby-core:72413]
200
201Mon Dec 21 10:18:46 2015  Kazuki Yamaguchi  <k@rhe.jp>
202
203	* vm_backtrace.c (rb_profile_frames): ignore ifunc frames as it
204	  did before.  [ruby-core:72409] [Bug #11851]
205
206Mon Dec 21 09:33:17 2015  Karol Bucek  <kares@users.noreply.github.com>
207
208	* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket): fix
209	  NotImplementedError typo.  [Fix GH-1165]
210
211Sun Dec 20 20:54:51 2015  Takashi Kokubun  <takashikkbn@gmail.com>
212
213	* cgi/escape/escape.c: Optimize CGI.escapeHTML for
214	  ASCII-compatible encodings.  [Fix GH-1164]
215
216Sun Dec 20 15:36:46 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
217
218	* lib/erb.rb: revert r53123. It breaks compatibility like thor and
219	  rspec-rails.
220	  We should try with Ruby 2.4 or 3.0.
221	  [Bug #11842][ruby-core:72374]
222	* lib/rdoc/erb_partial.rb: ditto.
223	* template/verconf.h.tmpl: ditto.
224
225Sun Dec 20 11:43:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
226
227	* parse.y (parser_yylex): allow here documents in labeled
228	  argument.  [ruby-core:72396] [Bug #11849]
229
230Sun Dec 20 11:14:11 2015  Koichi Sasada  <ko1@atdot.net>
231
232	* proc.c (rb_mod_define_method): should check Symbol or not.
233	  [Bug #11850]
234
235	* test/ruby/test_method.rb: add a test.
236
237Sun Dec 20 11:01:57 2015  Koichi Sasada  <ko1@atdot.net>
238
239	* proc.c (rb_mod_define_method): fix notation.
240
241Sun Dec 20 10:54:15 2015  Koichi Sasada  <ko1@atdot.net>
242
243	* proc.c (proc_new): fix notation.
244
245Sun Dec 20 00:29:00 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
246
247	* proc.c (rb_proc_get_iseq): proc made from symbol does not have
248	  iseq.  fix infinite loop.  [ruby-core:72381] [Bug #11845]
249
250Sat Dec 19 20:06:10 2015  Naohisa Goto  <ngotogenome@gmail.com>
251
252	* enc/windows_1250.c: Should not use C++ style comments (C99 feature).
253	  [Bug #11843]
254
255Sat Dec 19 17:17:04 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
256
257	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):
258	  use WEBrick::Utils::TimeoutHandler::Thread, which is ignored by
259	  LeakChecker#find_threads, instead of ::Thread to get rid of
260	  thread leak checker.  since this TimeoutHandler is resident
261	  during tests because of Singleton, it waits for the next timeout
262	  if it has any schedules.  in the case of nested timeouts, inner
263	  timeout does not cancel outer timeouts and then those schedules
264	  still remain.
265
266Sat Dec 19 14:28:01 2015  Jake Worth  <jakeworth82@gmail.com>
267
268	* ext/zlib/zlib.c (Init_zlib): [DOC] Fix double-word typo and
269	  grammatical error.  [Fix GH-1162]
270
271Sat Dec 19 14:23:59 2015  Jake Worth  <jakeworth82@gmail.com>
272
273	* lib/csv.rb (CSV#initialize): [DOC] Fix double-word typo.
274	  [Fix GH-1161]
275
276Sat Dec 19 10:33:33 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
277
278	* enc/iso_8859_2.c, enc/windows_1250.c: separate Windows-1250
279	  from ISO-8859-2 to fix 0x80..0x9e range (from Kimihito Matsui)
280
281Fri Dec 18 21:26:54 2015  Naohisa Goto  <ngotogenome@gmail.com>
282
283	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): To prevent
284	  potential deadlocks, Queue is used to tell update of @timeout_info
285	  instead of sleep and wakeup. [Bug #11742] [ruby-dev:49387]
286
287Fri Dec 18 17:24:09 2015  Koichi Sasada  <ko1@atdot.net>
288
289	* compile.c (ibf_load_object_string): use fstring if frozen string.
290
291Fri Dec 18 16:54:38 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
292
293	* ext/stringio/stringio.c (strio_set_encoding): add StringIO's own
294	  encoding and separate it from the buffer string to override the
295	  encoding of string when reading.  [ruby-core:72189] [Bug #11827]
296	  note that setting the encoding of its buffer string directly
297	  without StringIO#set_encoding may cause unpredictable behavior.
298
299Fri Dec 18 16:50:35 2015  Koichi Sasada  <ko1@atdot.net>
300
301	* compile.c (ibf_load_setup): check tainted string argument.
302
303Fri Dec 18 16:12:13 2015  Koichi Sasada  <ko1@atdot.net>
304
305	* vm_core.h: define USE_LAZY_LOAD if it is not defined.
306
307Fri Dec 18 15:40:06 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
308
309	* ext/stringio/stringio.c (strio_unget_bytes): extract from
310	  strio_ungetbyte to share with strio_ungetc.
311
312Fri Dec 18 12:39:42 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
313
314	* doc/syntax/*.rdoc: separated modifier at sentence.
315	  [ci skip][fix GH-1121] Patch by @clandry94
316
317Fri Dec 18 12:09:21 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
318
319	* ext/stringio/stringio.c (strio_ungetbyte): pad with \000 when
320	  the current position is after the end.
321
322Fri Dec 18 11:24:48 2015  Shugo Maeda  <shugo@ruby-lang.org>
323
324	* vm_method.c (rb_method_entry_make, check_override_opt_method):
325	  should check whether a newly created method overrides an optimize
326	  method in case the method is defined in a prepended module of a
327	  built-in class.
328	  [ruby-core:72226] [Bug #11836]
329
330Fri Dec 18 11:09:38 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
331
332	* vm.c (vm_exec): call RUBY_DTRACE_CMETHOD_RETURN_HOOK instead of
333	  RUBY_DTRACE_METHOD_RETURN_HOOK.
334
335Fri Dec 18 10:24:44 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
336
337	* lib/irb/ruby-lex.rb: fixed parse error for striped heredocument syntax.
338	  [fix GH-1127] Patch by @koic
339
340Fri Dec 18 09:44:47 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
341
342	* ext/pty/pty.c: fix double words typo.
343	  [ci skip][fix GH-1157] Patch by @jwworth
344
345Fri Dec 18 09:42:45 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
346
347	* ext/nkf/nkf-utf8/utf8tbl.c: fix a typo.
348	  [ci skip][fix GH-1159] Patch by @akshay-vishnoi
349	* ext/nkf/nkf-utf8/utf8tbl.h: ditto.
350
351Fri Dec 18 07:39:01 2015  Shugo Maeda  <shugo@ruby-lang.org>
352
353	* vm.c (rb_vm_check_redefinition_opt_method): should check the real
354	  class instead of the origin iclass.
355	  [ruby-core:72188] [Bug #11826]
356
357Thu Dec 17 22:13:10 2015  Shugo Maeda  <shugo@ruby-lang.org>
358
359	* vm_args.c (vm_caller_setup_arg_block): remove code for ifunc
360	  because it was made unnecessary by r52138.
361
362Thu Dec 17 16:13:10 2015  Shugo Maeda  <shugo@ruby-lang.org>
363
364	* proc.c (rb_block_arity): should not call GetProcPtr() for symbols.
365	  [ruby-core:72205] [Bug #11830]
366
367Thu Dec 17 14:16:29 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
368
369	* string.c (rb_str_scrub): the result should be infected by the
370	  original string.
371
372Thu Dec 17 13:35:27 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
373
374	* transcode.c (rb_econv_substr_append, econv_primitive_convert):
375	  the result should be infected by the original string.
376
377Thu Dec 17 09:46:08 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
378
379	* re.c (reg_names_iter): should consider encoding of regexp.
380	  [ruby-core:72185] [Bug #11825]
381
382Thu Dec 17 03:52:10 2015  Koichi Sasada  <ko1@atdot.net>
383
384	* vm.c (vm_make_env_each): should not compare with Qfalse and FALSE.
385	  Pointed at http://d.hatena.ne.jp/nagachika/20151216/ruby_trunk_changes_53128_53163
386
387Thu Dec 17 03:15:25 2015  Koichi Sasada  <ko1@atdot.net>
388
389	* vm_insnhelper.c (vm_call_method_each_type): should not set fastpath
390	  with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods.
391
392	  Normally, we can not use keyword arguments for this kind of methods,
393	  (obj.foo = 1), but we can set alias names for them.
394	  [Bug #11657]
395
396	* test/ruby/test_keyword.rb: add a test for this fix.
397
398Wed Dec 16 20:32:43 2015  CHIKANAGA Tomoyuki  <nagachika@ruby-lang.org>
399
400	* ext/fiddle/handle.c: check tainted string arguments.
401	  Patch provided by tenderlove and nobu.
402
403	* test/fiddle/test_handle.rb (class TestHandle): add test for above.
404
405
406Wed Dec 16 19:30:56 2015  Shugo Maeda  <shugo@ruby-lang.org>
407
408	* vm.c (vm_make_proc_from_block): should convert a Symbol to a Proc.
409	  [ruby-core:72083] [Bug #11811]
410
411Wed Dec 16 16:17:34 2015  Eric Wong  <e@80x24.org>
412
413	* test/ruby/test_io.rb: fix spelling errors
414
415Wed Dec 16 16:04:49 2015  Eric Wong  <e@80x24.org>
416
417	* NEWS: note IO#advise change [ruby-core:72168]
418
419Wed Dec 16 15:35:13 2015  Koichi Sasada  <ko1@atdot.net>
420
421	* vm.c: fix mark miss for proc given as passed block.
422	  [Bug #11750]
423
424	* vm.c (vm_make_proc_from_block): should return a Proc object
425	  if block is given. Previous implementation returns
426	  a Proc object only when corresponding Proc object is not
427	  available.
428
429	* vm.c (vm_make_env_each): ditto.
430
431	* test/ruby/test_proc.rb: add a test for this bug.
432
433Wed Dec 16 12:24:59 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
434
435	* test_struct.rb: Test that initialize is overridable [#11708]
436
437Wed Dec 16 10:49:51 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
438
439	* parse.y (block_command, block_call): fix `&.` calls after
440	  block_call.  [Feature #11537]
441
442Wed Dec 16 00:53:45 2015  Naohisa Goto  <ngotogenome@gmail.com>
443
444	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): Acquire
445	  TimeoutMutex only when accessing @timeout_info for avoiding
446	  potential deadlock. [Bug #11742] [ruby-dev:49387]
447
448Wed Dec 16 00:39:27 2015  Jake Worth  <jakeworth82@gmail.com>
449
450	* doc/extension.rdoc: [DOC] fix double-word typo.  [Fix GH-1153]
451
452Wed Dec 16 00:25:41 2015  Naohisa Goto  <ngotogenome@gmail.com>
453
454	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):
455	  TimeoutMutex should be acquired when accessing @timeout_info.
456	  To avoid deadlock, interrupt() calls are delayed.
457	  Due to the mutex, it is safe to treat ary without ary.dup.
458	  [Bug #11742] [ruby-dev:49387]
459
460Tue Dec 15 23:13:10 2015  Naohisa Goto  <ngotogenome@gmail.com>
461
462	* gc.c: Delete excess semicolon after RUBY_ALIAS_FUNCTION().
463	  Suppress "syntax error:  empty declaration" warnings by
464	  Oracle Solaris Studio 12.x on Solaris. [Bug #11821]
465
466	* hash.c: ditto, after NOINSERT_UPDATE_CALLBACK().
467
468Tue Dec 15 18:04:04 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
469
470	* NEWS: added news about EBCDIC encoding
471
472Tue Dec 15 17:57:57 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
473
474	* enc/ebcdic.h, enc/trans/ebcdic.trans,
475	  test/ruby/test_transcode.rb: Fixed encoding name
476	  to the correct one in the IANA registry (IBM037)
477	  and added an alias (ebcdic-cp-us)
478
479Tue Dec 15 16:19:26 2015  Takashi Kokubun  <takashikkbn@gmail.com>
480
481	* lib/erb.rb: Render erb with array buffer for function call optimization.
482	  [fix GH-1143]
483	* lib/rdoc/erb_partial.rb: ditto.
484	* template/verconf.h.tmpl: ditto.
485
486Tue Dec 15 13:50:05 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
487
488	* string.c (rb_str_oct): [DOC] mention radix indicators.
489	  [ruby-core:71310] [Bug #11648]
490
491Tue Dec 15 12:20:30 2015  Takashi Kokubun  <takashikkbn@gmail.com>
492
493	* lib/erb.rb: Simplify regexp to optimize erb scanner.
494	  [fix GH-1144]
495
496Tue Dec 15 11:56:24 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
497
498	* lib/uri/common.rb: make code block for rdoc.
499	  [ci skip][fix GH-1152] Patch by @Tonkpils
500
501Tue Dec 15 11:55:08 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
502
503	* ext/zlib/zlib.c: fix a typo.
504	  [ci skip][fix GH-1149] Patch by @crismali
505
506Tue Dec 15 09:14:14 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
507
508	* tool/transcode_tablegen.rb: detailed documentation
509	  for transcode_tblgen function [ci skip]
510
511Mon Dec 14 22:11:11 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
512
513	* enc/ebcdic.h: new dummy encoding EBCDIC-US
514	* enc/trans/ebcdic.trans: transcodings between EBCDIC-US
515	  and iso-8859-1 [with code from Andrea Ribuoli]
516	* test/ruby/test_transcode.rb: tests for above
517	* tool/transcode_tablegen.rb: additional argument for
518	  method transcode_tblgen
519
520Mon Dec 14 17:04:14 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
521
522	* ext/socket/lib/socket.rb: use safe navigation operator.
523	  [fix GH-1142] Patch by @mlarraz
524	* lib/drb/extservm.rb: ditto.
525	* lib/net/http.rb: ditto.
526	* lib/net/http/response.rb: ditto.
527	* lib/scanf.rb: ditto.
528	* lib/uri/generic.rb: ditto.
529
530Mon Dec 14 17:03:05 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
531
532	* bootstraptest/runner.rb: use safe navigation operator.
533	  [fix GH-1142] Patch by @mlarraz
534	* test/openssl/test_pair.rb: ditto.
535	* test/ruby/test_econv.rb: ditto.
536	* test/ruby/test_settracefunc.rb: ditto.
537	* test/thread/test_queue.rb: ditto.
538
539Mon Dec 14 14:33:35 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
540
541	* lib/xmlrpc.rb: added documentation for parser details.
542	  [ci skip][fix GH-1124] Patch by @jrafanie
543
544Mon Dec 14 11:46:52 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
545
546	* enum.c: fix a typo in documentation.
547	  [ci skip][fix GH-1140] Patch by @jutaz
548	* io.c: ditto.
549	* iseq.c: ditto.
550	* numeric.c: ditto.
551	* process.c: ditto.
552	* string.c: ditto.
553	* vm_trace.c: ditto.
554
555Mon Dec 14 11:41:59 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
556
557	* lib/cgi.rb: fix a typo in documentation.
558	  [ci skip][fix GH-1140] Patch by @jutaz
559
560Mon Dec 14 11:31:00 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
561
562	* compile.c: fix typos.
563	  [ci skip][fix GH-1140] Patch by @jutaz
564	* dir.c: ditto.
565	* gc.c: ditto.
566	* io.c: ditto.
567	* node.h: ditto.
568	* thread_pthread.c: ditto.
569	* vm_insnhelper.c: ditto.
570	* vsnprintf.c: ditto.
571
572Mon Dec 14 11:27:01 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
573
574	* enc/iso_2022_jp.h: fix typos.
575	  [ci skip][fix GH-1140] Patch by @jutaz
576	* enc/utf_16_32.h: ditto.
577	* enc/utf_7.h: ditto.
578
579Mon Dec 14 11:25:57 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
580
581	* benchmark/bm_app_aobench.rb: fix typos.
582	  [ci skip][fix GH-1140] Patch by @jutaz
583	* benchmark/bm_vm_thread_pipe.rb: ditto.
584
585Sun Dec 13 23:46:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
586
587	* parse.y (trace_lex_state): trace lex_state changes if yydebug is
588	  set, and send the messages to rb_stdout.
589
590	* parse.y (rb_parser_printf): store YYPRINTF messages per lines
591	  so that lex_state traces do not mix.
592
593	* tool/ytab.sed: add parser argument to yy_stack_print too.
594
595Sun Dec 13 20:41:16 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
596
597	* parse.y (build_lex_state_name, trace_lex_state): lex_state is
598	  now bit flags and can be set 2 bits or more.
599
600Sun Dec 13 20:26:30 2015  Yuki Yugui Sonoda  <yugui@yugui.jp>
601
602	* test/ruby/test_syntax.rb: fix typo in test
603
604Sun Dec 13 20:12:14 2015  Yuki Yugui Sonoda  <yugui@yugui.jp>
605
606	* parse.y (parse_percent): Allow %-literals in labeled arg as
607	  r51624 did for parentheses.
608	  Fixes [ruby-core:72084] [Bug #11812].
609
610Sun Dec 13 20:02:15 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
611
612	* ChangeLog: fix a typo
613
614Sun Dec 13 19:54:26 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
615
616	* test/lib/envutil.rb: move envutil's assertions under Test::Unit::Assertion.
617	* test/lib/test/unit/assertions.rb: ditto.
618
619Sun Dec 13 19:24:20 2015  Yuki Yugui Sonoda  <yugui@yugui.jp>
620
621	* parse.y (lex_state_name): Make it return the correct names.
622	  Add new names to follow r51617; Indices ffs(2) returns are 1-origin.
623
624Sun Dec 13 18:40:45 2015  Yuki Yugui Sonoda  <yugui@yugui.jp>
625
626	* parse.y: debug output of lex_state transition if PARSER_DEBUG
627
628Sun Dec 13 18:49:25 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
629
630	* io.c (parse_mode_enc): preserve encoding of mode string in
631	  warnings.
632
633	* io.c (io_encname_bom_p): check BOM prefix only, not including
634	  UTF prefix.
635
636	* io.c (parse_mode_enc): warn BOM with non-UTF encoding.
637
638	* io.c (parse_mode_enc): fix buffer overflow.
639
640Sun Dec 13 18:35:57 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
641
642	* ext/fiddle/function.c (initialize): check all arguments first.
643	  reported by Marcin 'Icewall' Noga of Cisco Talos.
644
645	* ext/fiddle/conversions.h (PTR2NUM): use signed integer to make
646	  Fixnum for negative values.
647
648Sun Dec 13 18:33:41 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
649
650	* pack.c (pack_pack): always check index range against the
651	  receiver array length, which can be shortened by elements
652	  conversion.  reported by Marcin 'Icewall' Noga of Cisco Talos.
653
654Sun Dec 13 18:28:52 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
655
656	* ext/psych/psych_emitter.c (start_document): should not exceed
657	  tags array range.
658
659	* ext/psych/psych_emitter.c (start_document): ensure string before
660	  encoding conversion.
661
662Sun Dec 13 18:26:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
663
664	* ext/tk/tkutil/tkutil.c (tk_hash_kv): check types of array
665	  argument.  reported by Marcin 'Icewall' Noga of Cisco Talos.
666
667	* ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check length of
668	  argument arrays for each access, as callback methods can modify
669	  them.  reported by Marcin 'Icewall' Noga of Cisco Talos.
670
671	* ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check types of
672	  argument elements.  reported by Marcin 'Icewall' Noga of Cisco
673	  Talos.
674
675Sun Dec 13 18:19:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
676
677	* ext/win32ole/win32ole.c (ole_vstr2wc): check argument type, vstr
678	  must be a String here.  reported by Marcin 'Icewall' Noga of
679	  Cisco Talos.
680
681Sun Dec 13 16:41:01 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
682
683	* configure.in (BOOTSTRAPRUBY): make BASERUBY full path before
684	  building ruby to get rid of unexpectedly invoking built ruby.
685	  [ruby-core:72065] [Bug #11807]
686
687	* configure.in (BOOTSTRAPRUBY): use MINIRUBY but not BASERUBY
688	  unless cross compiling.  [ruby-core:72065] [Bug #11807]
689
690Sun Dec 13 14:17:19 2015  Akinori MUSHA  <knu@iDaemons.org>
691
692	* test/test_shellwords.rb (TestShellwords): Add many more tests
693	  for handling whitespace characters and frozenness.
694
695Sun Dec 13 14:16:09 2015  Akinori MUSHA  <knu@iDaemons.org>
696
697	* lib/shellwords.rb (Shellwords#shellsplit): Document that this
698	  method does not treat shell metacharacters as such.
699
700Sun Dec 13 12:17:43 2015  Eric Wong  <e@80x24.org>
701
702	* lib/shellwords.rb (shellescape): duplicate frozen literal
703	* test/test_shellwords.rb (test_stringification): new test
704
705Sun Dec 13 11:47:35 2015  Shugo Maeda  <shugo@ruby-lang.org>
706
707	* object.c (rb_inspect): check the default internal encoding as
708	  String#inspect do.
709	  [ruby-dev:49415] [Bug #11787]
710
711Sun Dec 13 11:38:12 2015  Akinori MUSHA  <knu@iDaemons.org>
712
713	* lib/shellwords.rb: Turn on frozen-string-literal after fixing
714	  shellsplit.
715
716Sun Dec 13 10:44:44 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
717
718	* KNOWNBUGS.rb: Fixed typo, made more explicit [ci skip]
719
720Sun Dec 13 10:26:47 2015  NARUSE, Yui  <naruse@ruby-lang.org>
721
722	* ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): fix parsing
723	  protocol list.
724	  The protocol list from OpenSSL is not null-terminated.
725	  patched by Kazuki Yamaguchi [Bug #11810] [ruby-core:72082]
726
727Sun Dec 13 06:40:30 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
728
729	* lib/ostruct.rb: Have OpenStruct#dig raise if argument is not a
730	  symbol
731	  nor a string. See [#11762]
732
733Sun Dec 13 00:05:42 2015  Shugo Maeda  <shugo@ruby-lang.org>
734
735	* vm_insnhelper.c (vm_call_method_missing): method_missing should
736	  not be refined.
737	  [ruby-core:72080] [Bug #11809]
738
739Sat Dec 12 23:00:17 2015  NARUSE, Yui  <naruse@ruby-lang.org>
740
741	* ext/nkf/nkf-utf8/nkf.c: Merge nkf 2.1.4.
742
743Sat Dec 12 18:52:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
744
745	* object.c (rb_obj_dig): raise TypeError if an element does not
746	  have #dig method.  [ruby-core:71798] [Bug #11762]
747
748Sat Dec 12 17:59:07 2015  Yuichiro Kaneko  <yui-knk@ruby-lang.org>
749
750	* test/ruby/test_regexp.rb: Add test cases for `$KCODE` and `$=` warning
751	  [Misc #11770][ruby-dev:49398]
752
753Sat Dec 12 17:11:57 2015  CHIKANAGA Tomoyuki  <nagachika@ruby-lang.org>
754
755	* doc/NEWS-0.2.2: add description about incompatible change in Hash
756	  duplicated key overriding policy. [Bug #10315] [Bug #11501]
757
758Sat Dec 12 07:44:38 2015  Eric Wong  <e@80x24.org>
759
760	* io.c (do_io_advise): do not raise on ENOSYS
761	* test/ruby/test_io.rb (test_advise): do not skip on Errno::ENOSYS
762	  (test_advise_pipe): ditto
763	  [ruby-core:72066] [Feature #11806]
764
765Sat Dec 12 07:05:29 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
766
767	* enc/windows_1252.c: separate from ISO-8859-1 to fix 0x80..0x9e
768	  range.  [ruby-core:64049] [Bug #10097]
769
770Fri Dec 11 23:33:40 2015  Yusuke Endoh  <mame@ruby-lang.org>
771
772	* sample/trick2015/: added the award-winning entries of TRICK 2015.
773	  See https://github.com/tric/trick2015 for the contest outline.
774
775Fri Dec 11 17:59:05 2015  Eric Wong  <e@80x24.org>
776
777	* insns.def (opt_case_dispatch): avoid converting Infinity
778	* test/ruby/test_optimization.rb (test_opt_case_dispatch_inf): new
779	  [ruby-dev:49423] [Bug #11804]'
780
781Fri Dec 11 16:48:57 2015  Eric Wong  <e@80x24.org>
782
783	* hash.c (rb_num_hash_start): avoid pathological behavior
784	  [ruby-core:72028] [Feature #11405]
785
786Fri Dec 11 11:58:46 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
787
788	* NEWS: Mentioned rubygems-2.5.1
789
790Fri Dec 11 11:52:39 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
791
792	* lib/rubygems: Update to RubyGems 2.5.1
793	* test/rubygems: ditto.
794
795Fri Dec 11 11:38:14 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
796
797	* compile.c (iseq_compile_each, ibf_load_object_hash): rehash
798	  case-dispatch hash to reduce collisions.
799	  http://d.hatena.ne.jp/ku-ma-me/20151210
800
801Fri Dec 11 03:44:43 2015  NARUSE, Yui  <naruse@ruby-lang.org>
802
803	* object.c (rb_inspect): dump inspected result with rb_str_escape()
804	  instead of raising Encoding::CompatibilityError. [Feature #11801]
805
806	* string.c (rb_str_escape): added to dump given string like
807	  rb_str_inspect without quotes and always dump in US-ASCII
808	  like rb_str_dump.
809
810Thu Dec 10 14:59:59 2015  Koichi Sasada  <ko1@atdot.net>
811
812	* test/ruby/test_gc.rb (test_expand_heap): relax condition (1->2).
813
814Thu Dec 10 14:15:59 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
815
816	* cont.c: fix a double word typo.
817	  [Bug #11313][ruby-core:69749]
818
819Thu Dec 10 14:13:34 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
820
821	* ext/tk/lib/multi-tk.rb: fix typos.
822	  [Bug #11764][ruby-core:71800]
823
824Thu Dec 10 11:33:34 2015  Eric Wong  <e@80x24.org>
825
826	* compile.c (iseq_compile_each): reduce needless rb_str_dup
827	  [ruby-core:72018] <5668DB6E.8000101@ruby-lang.org>
828
829Thu Dec 10 09:32:51 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
830
831	* lib/mkmf.rb, lib/shellwords.rb: disable frozen-string-literal.
832	  [ruby-core:72011] [Bug #11800]
833
834Thu Dec 10 06:33:39 2015  Eric Wong  <e@80x24.org>
835
836	* marshal.c (memsize_dump_arg): remove NULL check
837	  (memsize_load_arg): ditto
838
839Thu Dec 10 05:53:18 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
840
841	* tool/mkconfig.rb: rbconfig must not be frozen-string-literal to
842	  expand CONFIG hash.  [ruby-core:72006] [Bug #11798]
843
844Thu Dec 10 05:03:51 2015  Eric Wong  <e@80x24.org>
845
846	* ext/socket/ifaddr.c (ifaddr_mark): remove empty function
847	  (ifaddr_type): pass zero to rb_data_type_t.function.dmark
848
849Thu Dec 10 04:49:16 2015  Eric Wong  <e@80x24.org>
850
851	* proc.c (bm_free): remove, use default free
852	  (method_data_type): use RUBY_TYPED_DEFAULT_FREE
853
854Thu Dec 10 02:01:41 2015  Koichi Sasada  <ko1@atdot.net>
855
856	* compile.c (iseq_compile_each): do not add debug information
857	  without --debug or --debug=frozen-string-literal option
858	  because String#dup slows down with debug information.
859	  [Feature #11725]
860
861	* NEWS: apply about it.
862
863	* test/ruby/test_rubyoptions.rb: catch up this fix with refactoring.
864
865Thu Dec 10 00:06:56 2015  Koichi Sasada  <ko1@atdot.net>
866
867	* iseq.c: rename methods
868	  RubyVM::InstructionSequence#to_binary_format -> #to_binary
869	  RubyVM::InstructionSequence.from_binary_format -> .load_from_binary
870	  RubyVM::InstructionSequence.from_binary_format_extra_data ->
871	                             .load_from_binary_extra_data
872
873	* iseq.c: fix document of iseq.to_binary.
874	  [Fix GH-1134]
875
876	* sample/iseq_loader.rb: catch up this change.
877
878	* test/lib/iseq_loader_checker.rb: ditto.
879
880Wed Dec  9 17:02:03 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
881
882	* regparse.h (SET_NTYPE): get rid of breaking strict aliasing.
883	  patch by Zarko Todorovski in [ruby-core:71953].  [Bug #11790]
884
885Wed Dec  9 16:10:37 2015  Koichi Sasada  <ko1@atdot.net>
886
887	* vm.c (rb_vm_cref_in_context): Module#define_method in non-class
888	  expression should be public.
889	  [Bug #11754]
890
891	* test/ruby/test_method.rb: add a test.
892
893Wed Dec  9 14:45:27 2015  Koichi Sasada  <ko1@atdot.net>
894
895	* gc.c (gc_mark_stacked_objects): fix typo.
896	  reported by XIE Zhibang. [Bug #11763]
897
898Wed Dec  9 14:37:51 2015  Shugo Maeda  <shugo@ruby-lang.org>
899
900	* doc/syntax/refinements.rdoc: remove outdated description.
901
902Wed Dec  9 09:58:09 2015  Koichi Sasada  <ko1@atdot.net>
903
904	* ext/**/*.c (*_memsize): same as r52986 for extensions.
905
906Wed Dec  9 09:46:19 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
907
908	* .gitignore: ignored ISeq binary format.
909
910Wed Dec  9 09:34:41 2015  Koichi Sasada  <ko1@atdot.net>
911
912	* *.c (*_memsize): do not check ptr.
913	  NULL checking is finished Before call of memsize functions.
914	  See r52979.
915
916Wed Dec  9 09:25:29 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
917
918	* test/net/smtp/test_response.rb: use Test::Unit. We should use Test::Unit
919	  without rubygems and rdoc.
920
921Wed Dec  9 06:26:23 2015  Colin Kelley <colindkelley@gmail.com>
922
923	* lib/uri/generic.rb: enable frozen_string_literal
924	  (split_userinfo): remove explicit .freeze for string literals
925	  (check_path): ditto
926	  (query): ditto
927	  (fragment): ditto
928	  (to_s): ditto
929	  [ruby-core:71910] [Bug #11759]
930
931Wed Dec  9 06:25:47 2015  Eric Wong  <e@80x24.org>
932
933	* test/uri/test_generic.rb (to_s): new test
934	  [ruby-core:71820]
935
936Wed Dec  9 02:18:52 2015  Koichi Sasada  <ko1@atdot.net>
937
938	* compile.c (ibf_dump_memsize): should check NULL.
939
940Wed Dec  9 01:46:35 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
941
942	* string.c (rb_str_init): now accepts new option parameter `encoding'.
943	  [Feature #11785]
944
945Wed Dec  9 00:52:37 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
946
947	* file.c (rb_stat_wr, rb_stat_ww): call get_stat only once and
948	  reduce checking struct.  patch by Yuki Kurihara in
949	  [ruby-core:71949].  [Misc #11789]
950
951Wed Dec  9 00:24:33 2015  Koichi Sasada  <ko1@atdot.net>
952
953	* compile.c (iseq_ibf_dump): dump extra data just string length.
954
955	* sample/iseq_loader.rb: add using
956	  RubyVM::InstructionSequence.from_binary_format_extra_data method
957	  (commented out).
958
959Mon Dec  9 00:21:19 2015  Yuki Nishijima  <mail@yukinishijima.net>
960
961	* gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.rc1
962
963Wed Dec  9 00:17:49 2015  Koichi Sasada  <ko1@atdot.net>
964
965	* compile.c (ibf_load_setup): cast to int.
966
967Wed Dec  9 00:13:09 2015  Koichi Sasada  <ko1@atdot.net>
968
969	* compile.c (ibf_setup_load): rename to ibf_load_setup().
970
971	* compile.c (iseq_load_setup): check binary format.
972
973Tue Dec  8 23:30:07 2015  Naohisa Goto  <ngotogenome@gmail.com>
974
975	* test/io/console/test_io_console.rb (run_pty): Avoid waiting twice
976	  for a process. Fix Errno::ECHILD in TestIO_Console#test_close and
977	  TestIO_Console#test_sync.
978
979Tue Dec  8 23:05:47 2015  Koichi Sasada  <ko1@atdot.net>
980
981	* compile.c (iseq_ibf_dump): fix for clang type checker.
982
983Tue Dec  8 23:04:02 2015  Koichi Sasada  <ko1@atdot.net>
984
985	* iseq.c (iseq_s_load): fix mysterious bug.
986
987Tue Dec  8 22:31:58 2015  Koichi Sasada  <ko1@atdot.net>
988
989	* introduce new ISeq binary format serializer/de-serializer
990	  and a pre-compilation/runtime loader sample.
991	  [Feature #11788]
992
993	* iseq.c: add new methods:
994	  * RubyVM::InstructionSequence#to_binary_format(extra_data = nil)
995	  * RubyVM::InstructionSequence.from_binary_format(binary)
996	  * RubyVM::InstructionSequence.from_binary_format_extra_data(binary)
997
998	* compile.c: implement body of this new feature.
999
1000	* load.c (rb_load_internal0), iseq.c (rb_iseq_load_iseq):
1001	  call RubyVM::InstructionSequence.load_iseq(fname) with
1002	  loading script name if this method is defined.
1003
1004	  We can return any ISeq object as a result value.
1005	  Otherwise loading will be continue as usual.
1006
1007	  This interface is not matured and is not extensible.
1008	  So that we don't guarantee the future compatibility of this method.
1009	  Basically, you shouldn't use this method.
1010
1011	* iseq.h: move ISEQ_MAJOR/MINOR_VERSION (and some definitions)
1012	  from iseq.c.
1013
1014	* encoding.c (rb_data_is_encoding), internal.h: added.
1015
1016	* vm_core.h: add several supports for lazy load.
1017	  * add USE_LAZY_LOAD macro to specify enable or disable of
1018	    this feature.
1019	  * add several fields to rb_iseq_t.
1020	  * introduce new macro rb_iseq_check().
1021
1022	* insns.def: some check for lazy loading feature.
1023
1024	* vm_insnhelper.c: ditto.
1025
1026	* proc.c: ditto.
1027
1028	* vm.c: ditto.
1029
1030	* test/lib/iseq_loader_checker.rb: enabled iff suitable
1031	  environment variables are provided.
1032
1033	* test/runner.rb: enable lib/iseq_loader_checker.rb.
1034
1035	* sample/iseq_loader.rb: add sample compiler and loader.
1036
1037	    $ ruby sample/iseq_loader.rb [dir]
1038
1039	  will compile all ruby scripts in [dir].
1040	  With default setting, this compile creates *.rb.yarb files
1041	  in same directory of target .rb scripts.
1042
1043	    $ ruby -r sample/iseq_loader.rb [app]
1044
1045	  will run with enable to load compiled binary data.
1046
1047Tue Dec  8 21:21:16 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
1048
1049	* NEWS: mention about Enumerator::Lazy#grep_v.
1050	  [ruby-core:71845] [Feature #11773]
1051
1052Tue Dec  8 17:36:36 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
1053
1054	* string.c: removed unused variable
1055
1056Tue Dec  8 16:23:40 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1057
1058	* enumerator.c (lazy_grep_v): add Enumerator::Lazy#grep_v as well
1059	  as Enumerable, to enumerate lazily.
1060	  [ruby-core:71845] [Feature #11773]
1061
1062Tue Dec  8 14:27:07 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1063
1064	* error.c (name_err_local_variables): new method
1065	  NameError#local_variables for internal use only.
1066	  [Feature #11777]
1067
1068Tue Dec  8 14:20:38 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1069
1070	* marshal.c (w_objivar): skip internal instance variables in
1071	  T_OBJECT too.
1072
1073Tue Dec  8 12:58:04 2015  Naohisa Goto  <ngotogenome@gmail.com>
1074
1075	* test/io/console/test_io_console.rb (test_getpass): s.getpass
1076	  should be tested. Narrow ensure block. This reverts r52911.
1077	  [Bug #11780] [ruby-dev:49412]
1078
1079Tue Dec  8 10:40:21 2015  Eric Wong  <e@80x24.org>
1080
1081	* benchmark/bm_vm2_case_lit.rb: new benchmark
1082	* compile.c (case_when_optimizable_literal): add nil/true/false
1083	* insns.def (opt_case_dispatch): ditto
1084	* vm.c (vm_redefinition_check_flag): ditto
1085	* vm.c (vm_init_redefined_flag): ditto
1086	* vm_core.h: ditto
1087	* object.c (InitVM_Object): define === explicitly for nil/true/false
1088	* test/ruby/test_case.rb (test_deoptimize_nil): new test
1089	* test/ruby/test_optimization.rb (test_opt_case_dispatch): update
1090	  (test_eqq): new test
1091	  [ruby-core:71923] [Feature #11769]
1092	  Original patch by Aaron Patterson <tenderlove@ruby-lang.org>
1093
1094Tue Dec  8 10:19:02 2015  Jake Worth  <jakeworth82@gmail.com>
1095
1096	* lib/optparse.rb: fix double word typo in the document.
1097	  [Misc #10608] [Fix GH-1126]
1098
1099Tue Dec  8 09:03:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1100
1101	* ext/date/date_core.c (d_lite_lshift): should check the argument
1102	  before negation.
1103
1104Tue Dec  8 08:56:16 2015  Eric Wong  <e@80x24.org>
1105
1106	* insns.def (opt_case_dispatch): check Float#=== redefinition
1107	* test/ruby/test_optimization.rb (test_opt_case_dispatch): new
1108	  [ruby-core:71920] [Bug #11784]
1109
1110Tue Dec  8 03:56:05 2015  Koichi Sasada  <ko1@atdot.net>
1111
1112	* test/lib/iseq_loader_checker.rb: add iseq dumper/loader checker.
1113	  If you enable this checker (remove `#' in test/runner.rb),
1114	  you can see comparison results between an original iseq disassembed
1115	  result and dumped and loaded iseq disassembed result.
1116
1117	  There are several bugs around there, because of inexact stack depth
1118	  calculation. Now, I leave these bugs because they are not critical
1119	  and difficult to solve completely.
1120
1121	* test/runner.rb: require test/lib/iseq_loader_checker.rb but
1122	  disabled at default (commented out).
1123
1124Tue Dec  8 03:45:47 2015  Eric Wong  <e@80x24.org>
1125
1126	* doc/extension.rdoc: warn about kwargs performance in C
1127	  [Feature #11339] [ci skip]
1128
1129Tue Dec  8 03:44:51 2015  Koichi Sasada  <ko1@atdot.net>
1130
1131	* iseq.c (iseq_load): disable peephole optimization option
1132	  because apply it multiple times change the sequence.
1133	  (iseq != peephole_optimize(load(iseq.to_a)))
1134
1135Tue Dec  8 03:43:21 2015  Koichi Sasada  <ko1@atdot.net>
1136
1137	* compile.c (rb_iseq_build_from_ary): do not allocate table
1138	  if table_size is 0.
1139
1140Tue Dec  8 03:30:34 2015  Eric Wong  <e@80x24.org>
1141
1142	* ext/socket/unixsocket.c (unix_send_io): document args
1143	  (unix_recv_io): ditto
1144	* test/socket/test_unix.rb (test_fd_passing_class_mode): added
1145
1146Tue Dec 08 02:21:35 2015  Koichi Sasada  <ko1@atdot.net>
1147
1148	* iseq.c (iseq_translate): at the end of constructing an iseq,
1149	  call RubyVM::InstructionSequence.translate(iseq) if this method
1150	  is defined. If the return value is also an object of
1151	  RubyVM::InstructionSequence, then use it instead of created one.
1152
1153	  For example, this method is useful to test iseq dumper/loader
1154	  such as RubyVM::InstructionSequence#to_a and rb_iseq_load().
1155
1156	  Because this method is for such internal experimental usage,
1157	  the interface is not matured. For example, this interface has
1158	  no extensibility. Two or more translators can not run
1159	  simultaneously.
1160
1161	  So that we don't guarantee future compatibility of this method.
1162	  Basically, do not use this method.
1163
1164Tue Dec  8 01:57:13 2015  Aaron Patterson <tenderlove@ruby-lang.org>
1165
1166	* ext/psych/*: update psych to 2.0.16
1167	* test/psych/*: ditto
1168
1169Mon Dec  7 23:45:20 2015  Koichi Sasada  <ko1@atdot.net>
1170
1171	* string.c: introduce String#+@ and String#-@ to control
1172	  String mutability.
1173	  [Feature #11782]
1174
1175Mon Dec  7 23:39:49 2015  Ben Miller  <bjmllr@gmail.com>
1176
1177	* parse.y: add heredoc <<~ syntax.  [Feature #9098]
1178
1179Mon Dec  7 23:06:16 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
1180
1181	* prelude.rb (IO#read_nonblock): [DOC] add missing options to
1182	  call-seq.  [ruby-core:71627] [Bug #11730]
1183
1184Mon Dec  7 15:50:50 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
1185
1186	* .gitignore: added cygruby*.def for Cygwin
1187
1188Sun Dec  6 19:52:31 2015  Eric Wong  <e@80x24.org>
1189
1190	* include/ruby/intern.h (rb_autoload): deprecate
1191	* internal.h (rb_autoload_str): declare
1192	* load.c (rb_mod_autoload): use rb_autoload_str
1193	* variable.c (rb_autoload): become compatibility wrapper
1194	  (rb_autoload_str): hoisted out from old rb_autoload
1195	  [ruby-core:71369] [Feature #11664]
1196
1197Sun Dec  6 18:25:22 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
1198
1199	* test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): gave up the test
1200	  of binary path info test on Windows because the test had passed
1201	  occasionally as the comment said.
1202
1203Sun Dec  6 15:25:06 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1204
1205	* ext/io/console/console.c (console_getpass): add IO#getpass
1206	  method.
1207
1208Sun Dec  6 08:39:05 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1209
1210	* ext/json/json.gemspec: bump version to json 1.8.3. CRuby already contained
1211	  upstream changes.
1212
1213	  https://github.com/ruby/ruby/commit/4d059bf9f5f10f3d3088de49fc87e5555db7770d
1214	  https://github.com/flori/json/commit/d4c99de78905d96c3f301f48b2c789943bb3f098
1215
1216	* ext/json/lib/json/version.rb: ditto.
1217
1218Sat Dec  5 17:48:25 2015  Lars Kanis  <lars@greiz-reinsdorf.de>
1219
1220	* tool/fake.rb: Fix cross build when srcdir is an absolute path.
1221
1222	* Makefile.in: PREP dependency is needed when cross build too, not
1223	  "-r$(arch)-fake" to be  used before created.  [Fix GH-1125]
1224
1225Sat Dec  5 17:26:24 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1226
1227	* hash.c (env_str_new, env_path_str_new): make default string
1228	  UTF-8 for the case conversion is not possible.  [Bug #8822]
1229
1230	* hash.c (get_env_cstr): convert non-ASCII string to UTF-8 string.
1231
1232	* hash.c (ruby_setenv): use wide char version to put environment
1233	  variable to deal with non-ASCII value.
1234
1235Sat Dec  5 09:56:50 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1236
1237	* ruby_atomic.h (ATOMIC_CAS): old value to be swapped should be
1238	  same as the destination.  immediate value may need type
1239	  promotion.
1240
1241	* ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of
1242	  InterlockedCompareExchange64.  new value and then old value is
1243	  the last.
1244
1245Sat Dec  5 09:23:34 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1246
1247	* random.c (fill_random_seed): fix the size to be filled, not the
1248	  size of element, but the whole size of array.
1249
1250Sat Dec  5 06:03:54 2015  Eric Wong  <e@80x24.org>
1251
1252	* vm.c (ruby_vm_verbose_ptr): make static
1253	  (ruby_vm_debug_ptr): ditto
1254
1255Sat Dec  5 00:56:29 2015  Naohisa Goto  <ngotogenome@gmail.com>
1256
1257	* include/ruby/ruby.h (RB_OBJ_TAINT): follow-up of r52881.
1258	  Turn into void expression not to use unexpected result.
1259	  Fix "operands have incompatible types" error with
1260	  Oracle Solaris Studio 12.x on Solaris.
1261
1262Fri Dec  4 19:52:52 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
1263
1264	* enc/iso_8859_13.c: Added three missing lower/upper-case
1265	  character pairs (from Kimihito Matsui)
1266
1267Fri Dec  4 18:57:57 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
1268
1269	* enc/iso_8859_4.c: Added missing lower/upper-case character
1270	  pair (U+014A and U+014B, LATIN CAPITAL/SMALL LETTER ENG)
1271	  (from Kimihito Matsui)
1272
1273Fri Dec  4 16:48:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1274
1275	* string.c (rb_obj_as_string): fstring should not be infected.
1276	  re-apply r52872 and fix a typo.
1277	  TODO: other frozen strings also may not be.
1278
1279Fri Dec  4 15:21:45 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1280
1281	* lib/rubygems: Update to RubyGems 2.5.0+ HEAD(fdab4c4).
1282	  this version includes #1396, #1397, #1398, #1399
1283	* test/rubygems: ditto.
1284
1285Fri Dec  4 11:22:40 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1286
1287	* thread.c (rb_thread_setname): name must be ascii-compatible, as
1288	  pthread APIs do not accept legacy wide char strings.
1289
1290Thu Dec  3 15:39:21 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1291
1292	* lib/scanf.rb: fixed double words typo.
1293	  [ci skip][fix GH-1123] Patch by @jwworth
1294
1295Thu Dec  3 15:37:56 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1296
1297	* test/ruby/test_mixed_unicode_escapes.rb: fixed typo.
1298	  [fix GH-1122] Patch by @davydovanton
1299	* test/ruby/test_object.rb: ditto.
1300	* test/socket/test_tcp.rb: ditto.
1301
1302Thu Dec  3 15:33:08 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1303
1304	* sprintf.c (rb_str_format): fix wrong shifting position in
1305	  Rational conversion when not at the beginning of the result.
1306	  [ruby-core:71806] [Bug #11766]
1307
1308Thu Dec  3 14:22:16 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1309
1310	* range.c (range_to_s): should be infected by the receiver.
1311	  str2 infects by appending.  [ruby-core:71811] [Bug #11767]
1312
1313Thu Dec  3 11:57:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1314
1315	* configure.in: separate SET_CURRENT_THREAD_NAME, which can set
1316	  the name of current thread only, and SET_ANOTHER_THREAD_NAME,
1317	  which can set the name of other threads.
1318
1319	* thread.c (rb_thread_setname): use SET_ANOTHER_THREAD_NAME.  OS X
1320	  is not possible to set another thread name.
1321
1322	* thread_pthread.c (native_set_thread_name, thread_timer): use
1323	  SET_CURRENT_THREAD_NAME.
1324
1325Wed Dec 02 22:57:46 2015  Koichi Sasada  <ko1@atdot.net>
1326
1327	* vm_core.h, iseq.h: remove rb_iseq_t::variable_body.
1328	  Fields in rb_iseq_t::variable_body are contained by
1329	  rb_iseq_t::body::mark_ary (hidden Array object).
1330
1331	  Index 0 to 2 of mark_ary are reserved by these objects.
1332
1333	* iseq.c: catch up this fix.
1334
1335	* compile.c (rb_iseq_original_iseq): trivial rewrite.
1336
1337Wed Dec  2 17:19:02 2015  Koichi Sasada  <ko1@atdot.net>
1338
1339	* iseq.h: introduce ISEQ_ORIGINAL_ISEQ() and
1340	  ISEQ_ORIGINAL_ISEQ_ALLOC() macro.
1341
1342	* compile.c: use them to access original iseq buffer.
1343
1344	* iseq.c: ditto.
1345
1346	* vm_core.h: rename iseq field to support this fix.
1347
1348Wed Dec  2 17:10:32 2015  Koichi Sasada  <ko1@atdot.net>
1349
1350	* iseq.h: introduce ISEQ_FLIP_CNT_INCREMENT() macro.
1351
1352	* compile.c (iseq_compile_each): use it.
1353
1354	* vm_core.h: rename flip_cnt field to support this fix.
1355
1356Wed Dec  2 17:05:15 2015  Koichi Sasada  <ko1@atdot.net>
1357
1358	* iseq.h: introduce ISEQ_COVERAGE() and ISEQ_COVERAGE_SET() macro.
1359
1360	* compile.c: use them.
1361
1362	* iseq.c: ditto.
1363
1364	* iseq.c (rb_iseq_coverage): added.
1365
1366	* thread.c (update_coverage): use rb_iseq_coverage().
1367
1368	* vm_core.h: rename coverage field name to support this fix.
1369
1370Wed Dec  2 17:00:54 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1371
1372	* encoding.c (enc_name, rb_enc_name_list_i, rb_enc_aliases_enc_i):
1373	  make fstring instead of making each copies.
1374
1375Wed Dec  2 16:32:08 2015  Koichi Sasada  <ko1@atdot.net>
1376
1377	* iseq.h: introduce ISEQ_COMPILE_DATA() macro.
1378
1379	* compile.c, iseq.c: use ISEQ_COMPILE_DATA().
1380
1381	* vm_core.h: rename compile_data field to support this fix.
1382
1383Wed Dec  2 16:27:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1384
1385	* encoding.c (enc_m_loader): defer finding encoding object not to
1386	  be infected by marshal source.  [ruby-core:71793] [Bug #11760]
1387
1388	* marshal.c (r_object0): enable compatible loader on USERDEF
1389	  class.  the loader function is called with the class itself,
1390	  instead of an allocated object, and the loaded data.
1391
1392	* marshal.c (compat_allocator_table): initialize
1393	  compat_allocator_tbl on demand.
1394
1395	* object.c (rb_undefined_alloc): extract from rb_obj_alloc.
1396
1397Wed Dec  2 15:12:43 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1398
1399	* configure.in: Fixed double negative comments.
1400	  [Bug #11698][ruby-core:71506]
1401
1402Wed Dec  2 14:55:01 2015  yui-knk  <spiketeika@gmail.com>
1403
1404	* test/ruby/test_string.rb: removed non executing tests.
1405	  [Misc #11757][ruby-dev:49397]
1406
1407Wed Dec  2 11:23:06 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1408
1409	* lib/csv.rb: enable frozen_string_literal.
1410	  [fix GH-1116] Patch by @marshall-lee
1411
1412Wed Dec  2 10:36:25 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1413
1414	* ext/bigdecimal/bigdecimal.c: Fix double word typo.
1415	  [ci skip][fix GH-1120] Patch by @jwworth
1416
1417Wed Dec  2 07:43:51 2015  Eric Wong  <e@80x24.org>
1418
1419	* ext/openssl/ossl_ssl.c (mSSLExtConfig): make static
1420	  (eSSLError): ditto
1421	  (ID_callback_state): ditto
1422	  (ossl_ssl_ex_vcb_idx): ditto
1423	  (ossl_ssl_ex_store_p): ditto
1424	  (ossl_ssl_ex_ptr_idx): ditto
1425	* ext/openssl/ossl_ssl.h: remove extern declarations for
1426	  mSSLExtConfig and eSSLError
1427
1428Wed Dec  2 07:41:08 2015  Eric Wong  <e@80x24.org>
1429
1430	* missing/explicit_bzero.c (explicit_bzero): fixup r52839
1431	  for compilers with "weak" attribute
1432
1433Wed Dec  2 06:47:25 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1434
1435	* missing/explicit_bzero.c: add ruby_explicit_bzero_hook_unused
1436	  for preventing optimization. Inspired from OpenBSD.
1437
1438Tue Dec  1 23:36:39 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1439
1440	* thread.c (rb_thread_setname): allow to reset thread name.
1441
1442Tue Dec  1 23:14:04 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1443
1444	* thread.c (rb_thread_setname): check the argument if valid
1445	  string.  [ruby-core:71774] [Bug #11756]
1446
1447Tue Dec  1 17:13:41 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1448
1449	* string.c (rb_string_value_cstr): should not raise on frozen
1450	  string.
1451
1452Tue Dec  1 09:35:29 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1453
1454	* missing/explicit_bzero.c: add a few comment.
1455
1456Tue Dec  1 09:31:19 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1457
1458	* missing/explicit_bzero.c: add disabling optimization on gcc.
1459
1460Tue Dec  1 07:50:33 2015  Eric Wong  <e@80x24.org>
1461
1462	* missing/explicit_bzero.c: new file. define explicit_bzero.
1463	  Fixup r52806
1464
1465Thu Oct 22 12:54:43 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1466
1467	* thread_pthread.c (register_ubf_list): renamed from
1468	  add_signal_thread_list.
1469	* thread_pthread.c (unregister_ubf_list): renamed
1470	  from remove_signal_thread_list.
1471	* thread_pthread.c (ubf_wakeup_all_threads): renamed from
1472	  ping_signal_thread_list.
1473	* thread_pthread.c (ubf_wakeup_thread): renamed from
1474	  ubf_select_each.
1475	* thread_pthread.c (ubf_threads_empty): renamed from
1476	  check_signal_thread_list().
1477	* thread_pthread.c (ubf_list_lock): renamed from
1478	  signal_thread_list_lock.
1479
1480	* thread_pthread.c (register_ubf_list): large simplification
1481	  by using ccan/list.h.
1482	  bonus: removed malloc() and exit(EXIT_FAILURE).
1483	* thread_pthread.c (unregister_ubf_list): ditto.
1484	* thread_pthread.c (ubf_threads_empty): ditto.
1485	* thread_pthread.c (ubf_wakeup_all_threads): ditto.
1486
1487	* thread_pthread.c (print_signal_list): removed.
1488
1489Thu Oct 22 08:03:49 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1490
1491	* test/ruby/test_rand.rb (TestRand#test_default_seed): add
1492	  srand case.
1493
1494Thu Oct 22 06:33:38 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1495
1496	* random.c (InitVM_Random): move Random::DEFAULT initialization
1497	  bits to Init_Random_default.
1498	* random.c (Init_Random_default): renamed from Init_RandomSeed2.
1499	* random.c (Init_RandomSeedCore): renamed from Init_RandomSeed.
1500
1501Thu Oct 22 06:20:48 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1502
1503	* random.c (Init_RandomSeed): move all Random::DEFAULT
1504	  construction bits to Init_RandomSeed2. Random::DEFAULT
1505	  and Ruby internal hashes are no longer shared their seed.
1506	* random.c (Init_RandomSeed2): ditto. And, kill evil
1507	  rb_obj_reveal() stuff.
1508
1509	* random.c (init_hashseed): add MT argument.
1510	* random.c: (init_siphash): ditto.
1511
1512	* test/ruby/test_rand.rb (TestRand#test_default_seed): new
1513	  test for Random::DEFAULT::seed.
1514
1515Thu Oct 22 05:23:48 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1516
1517	* random.c (init_hashseed, init_siphash): extract initialize
1518	  functions.
1519
1520Thu Oct 22 01:01:34 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1521
1522	* configure.in: sort AC_CHECK_HEADERS() by alphabetical order.
1523
1524Thu Oct 22 00:19:07 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1525
1526	* random.c (init_randomseed): remove "initial" argument. It never
1527	  be used from outside of this function.
1528
1529Thu Oct 22 00:12:33 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1530
1531	* lib/securerandom.rb (SecureRandom::gen_random): use /dev/urandom
1532	  for initialize OpenSSL's rand.
1533
1534Wed Oct 21 12:10:04 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1535
1536	* ext/openssl/ossl_rand.c (ossl_rand_bytes): RAND_bytes could
1537	  be return -1 as an error. Therefore, added error handling.
1538	* ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto.
1539
1540Wed Oct 21 09:04:09 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1541
1542	* include/ruby/util.h: remove a warning suppression C4723
1543	  (potential divide by zero) for VisualC++. It's meaningless.
1544	  Before r26197, there is ruby_div0() in this place and it
1545	  actually made divide by zero. But now it's just garbage.
1546
1547Wed Oct 21 08:23:36 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1548
1549	* random.c: random_raw_seed don't use GRND_NONBLOCK. GRND_NONBLOCK
1550	  mean the result might not have an enough cryptic strength and
1551	  easy predictable. That's no good for SecureRandom.
1552
1553Sun Oct 18 17:26:53 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
1554
1555	* common.mk: add a rule for explicit_bzero.o.
1556	* configure.in: detect explicit_bzero and memset_s.
1557	* include/ruby/missing.h: add explicit_bzero.
1558	* random.c (init_randomseed): use explicit_bzero() instead of
1559	  memset(). memset could be eliminated by compiler optimization.
1560
1561Mon Nov 30 18:46:44 2015  NARUSE, Yui  <naruse@ruby-lang.org>
1562
1563	* ext/readline/extconf.rb: call dir_config("libedit")
1564	  if --enable-libedit is specified. [Bug #11751]
1565	  patched by John Hein
1566
1567Mon Nov 30 08:44:29 2015  Eric Wong  <e@80x24.org>
1568
1569	* variable.c: remove spurious #define for globals
1570	  [ruby-core:71735] [Feature #11749]
1571
1572Sun Nov 29 09:13:03 2015  Conor Landry  <clandry94@gmail.com>
1573
1574	* NEWS: [DOC] Various grammar corrections and clarifications to
1575	  increase readability.  [Fix GH-1115]
1576
1577Sat Nov 28 19:33:55 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1578
1579	* parse.y (parser_here_document): store dispatched result of
1580	  on_tstring_content at the last fragment of a here document.
1581
1582Fri Nov 27 19:19:44 2015  NARUSE, Yui  <naruse@ruby-lang.org>
1583
1584	* lib/net/http.rb (connect): detect closed connection and reconnect
1585	  If the server closes a keep-alive http connection, the client socket
1586	  reaches EOF. To avoid an EOFError, detect the closed connection and
1587	  reconnect.
1588	  Added test to ensure HTTP#post succeeds even if the
1589	  keep-alive-connection has been closed by the server.
1590	  by Kristian Hanekamp <kris.hanekamp@gmail.com>
1591	  https://github.com/ruby/ruby/pull/1089 fix GH-1089
1592
1593Thu Nov 26 21:36:40 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1594
1595	* compile.c (iseq_peephole_optimize): enable tail call
1596	  optimization for specialized indexers.
1597
1598	* compile.c (iseq_compile_each): blockiseq should be NULL, but not
1599	  Qnil.
1600
1601Thu Nov 26 17:22:53 2015  NARUSE, Yui  <naruse@ruby-lang.org>
1602
1603	* regcomp.c, regenc.c, regexec.c, regint.h, enc/unicode.c:
1604	  Merge Onigmo 58fa099ed1a34367de67fb3d06dd48d076839692
1605	  + https://github.com/k-takata/Onigmo/pull/52
1606
1607Thu Nov 26 09:50:02 2015  yui-knk  <spiketeika@gmail.com>
1608
1609	* test/coverage/test_coverage.rb: Added test-case for Coverage.restart.
1610	  [Misc #11732][ruby-dev:49379]
1611
1612Thu Nov 26 09:46:36 2015  yui-knk  <spiketeika@gmail.com>
1613
1614	* test/coverage/test_coverage.rb: Added test-case for Coverage.peek_result
1615	  without Coverage.start. [Misc #11726][ruby-core:71622]
1616
1617Thu Nov 26 07:22:55 2015  Eric Wong  <e@80x24.org>
1618
1619	* test/openssl/test_ssl.rb (test_copy_stream): new test
1620
1621Wed Nov 25 21:23:39 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1622
1623	* io.c (copy_stream_body): try to_io conversion before read,
1624	  readpartial, and write methods.  [ruby-dev:49008] [Bug #11199]
1625
1626Wed Nov 25 10:55:21 2015  Shugo Maeda  <shugo@ruby-lang.org>
1627
1628	* io.c (argf_getpartial): should not resize str if the second
1629	  argument is not given.
1630	  [ruby-core:71668] [Bug #11738]
1631
1632Tue Nov 24 23:56:25 2015  Naohisa Goto  <ngotogenome@gmail.com>
1633
1634	* configure.in: On Solaris, it is safe to define _LARGEFILE_SOURCE
1635	  when _FILE_OFFSET_BITS=64 is defined (= when 32-bit compile).
1636
1637Tue Nov 24 10:00:10 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1638
1639	* lib/rubygems/installer.rb: Fix two double-word typos.
1640	  [ci skip][fix GH-1108] Patch by @jwworth
1641
1642Tue Nov 24 09:17:02 2015  Alexander von Gluck IV  <kallisti5@unixzen.com>
1643
1644	* beos: Drop support for BeOS now that Haiku is stable.
1645	  [Fix GH-1112]
1646
1647Tue Nov 24 09:16:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1648
1649	* internal.h (rb_gc_for_fd): move to export, as referred by
1650	  ext/socket.
1651
1652Tue Nov 24 09:04:29 2015  David Rodriguez  <deivid.rodriguez@gmail.com>
1653
1654	* file.c: [DOC] add a missing period to File docs, to terminate
1655	  the sentence and separate from the next sentence.  [Fix GH-1111]
1656
1657Tue Nov 24 08:30:06 2015  JuanitoFatas  <katehuang0320@gmail.com>
1658
1659	* NEWS: Fix the issue number of `Struct#dig`, which should be
1660	  [Feature #11688].  [Fix GH-1110]
1661
1662Tue Nov 24 07:56:54 2015  Eric Wong  <e@80x24.org>
1663
1664	* ext/socket/init.c (rsock_s_accept): handle ENOMEM
1665
1666Tue Nov 24 07:50:15 2015  Eric Wong  <e@80x24.org>
1667
1668	* dir.c (dir_initialize): use rb_gc_for_fd for ENOMEM
1669	* ext/socket/init.c (rsock_socket): ditto
1670	* ext/socket/socket.c (rsock_socketpair): ditto
1671	* internal.h (rb_gc_for_fd): prototype
1672	* io.c (rb_gc_for_fd): remove static
1673	  [ruby-core:71623] [Feature #11727]
1674
1675Tue Nov 24 06:46:27 2015  Eric Wong  <e@80x24.org>
1676
1677	* io.c (rb_gc_for_fd): new helper function
1678	  (ruby_dup): use rb_gc_for_fd
1679	  (rb_sysopen): ditto
1680	  (rb_fdopen): ditto
1681	  (rb_pipe): ditto
1682	  [ruby-core:71623] [Feature #11727]
1683
1684Tue Nov 24 05:13:35 2015  Eric Wong  <e@80x24.org>
1685
1686	* ext/fiddle/function.c (struct nogvl_ffi_call_args):
1687	  new struct for GVL release
1688	  (nogvl_ffi_call): new function
1689	  (function_call): adjust for GVL release
1690	  [ruby-core:71642] [Feature #11607]
1691	* ext/fiddle/closure.c (struct callback_args):
1692	  new struct for GVL acquire
1693	  (with_gvl_callback): adjusted original callback function
1694	  (callback): wrapper for conditional GVL acquire
1695	* ext/fiddle/depend: add dependencies
1696	* ext/fiddle/extconf.rb: include top_srcdir for internal.h
1697	* internal.h (ruby_thread_has_gvl_p): expose for fiddle
1698	* vm_core.h (ruby_thread_has_gvl_p): moved to internal.h
1699	* test/fiddle/test_function.rb (test_nogvl_poll): new test
1700
1701Mon Nov 23 19:53:12 2015  Naohisa Goto  <ngotogenome@gmail.com>
1702
1703	* configure.in: On Solaris, with gcc, "-std=iso9899:1999"
1704	  in $ansi_options is often also needed in CPPFLAGS,
1705	  because some feature definitions vary depending on such
1706	  standards options.
1707
1708Mon Nov 23 12:54:39 2015  Hamish Morrison  <hamishm53@gmail.com>
1709
1710	* configure.in: remove obsolete workarounds for Haiku.
1711
1712	* dln.c, file.c, io.c: remove obsolete Haiku workarounds.
1713
1714	* thread_pthread.c: add stack bounds detection for Haiku.
1715
1716	* signal.c: get stack pointer from signal context on Haiku.
1717	  [ruby-core:67923] [Bug #10811] [Fix GH-1109]
1718
1719Mon Nov 23 11:44:11 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1720
1721	* gems/bundled_gems: bump version to minitest-5.8.3
1722
1723Mon Nov 23 08:55:00 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1724
1725	* ChangeLog: fix wrong reference for r52714
1726
1727Sun Nov 22 22:23:37 2015  Rei Odaira  <Rei.Odaira@gmail.com>
1728
1729	* gc.c (rb_raw_obj_info): fix compile errors when USE_RGENGC
1730	  is 0.
1731
1732Sun Nov 22 21:58:09 2015  Naohisa Goto  <ngotogenome@gmail.com>
1733
1734	* lib/cmath.rb: methods which has suffix '!' are now deprecated.
1735	  Re-apply r52469 made by Kazuki Tanaka, with fixing bug about
1736	  mathn.rb compatibility. [ruby-core:68528] [Feature #10974]
1737
1738Sun Nov 22 19:36:51 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1739
1740	* ext/openssl/ossl.c: fix brew command for installation of openssl.
1741	  [ci skip][fix GH-1107] Patch by @arthurnn
1742
1743Sun Nov 22 17:59:50 2015  Naohisa Goto  <ngotogenome@gmail.com>
1744
1745	* configure.in: On Solaris, add -D_XOPEN_SOURCE=n only when both
1746	  AC_TRY_CPP and AC_TRY_COMPILE pass, because some options
1747	  (e.g. -std=iso9899:1999) are not set when running C preprocessor
1748	  or building ext.
1749
1750Sun Nov 22 16:53:34 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1751
1752	* compile.c (iseq_peephole_optimize): remove unreachable code
1753	  chunk after jump/leave.
1754
1755	* parse.y: move dead code elimination of logical operation to
1756	  compile.c.  not to warn logical operation of literal constants.
1757
1758Sun Nov 22 16:37:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1759
1760	* compile.c (iseq_peephole_optimize): eliminate always/never
1761	  branches after a literal object and when the value is used after
1762	  the branch.
1763
1764Sun Nov 22 01:23:43 2015  Naohisa Goto  <ngotogenome@gmail.com>
1765
1766	* configure.in: Add -D_XOPEN_SOURCE=500 (or 600 or 700) on Solaris
1767	  if available, mainly for enabling some features in sockets.
1768
1769Sun Nov 22 00:17:22 2015  Naohisa Goto  <ngotogenome@gmail.com>
1770
1771	* test/socket/test_socket.rb (test/socket/test_socket.rb): skip
1772	  the test when Socket::SO_TIMESTAMP is not defined. Fix error
1773	  on Solaris 10. [Bug #11728] [ruby-dev:49377]
1774
1775Sat Nov 21 18:57:28 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1776
1777	* ruby.c (need_argument): move frozen-string-literal-debug option
1778	  from --enable to --debug.  [Feature #11725]
1779
1780	* ruby.c (proc_options): fix pointer overrun. do not advance argv
1781	  until it is valid.
1782
1783Sat Nov 21 13:59:09 2015  NARUSE, Yui  <naruse@ruby-lang.org>
1784
1785	* ext/digest/sha1/extconf.rb: OpenSSL's struct name for SHA1 is
1786	  SHA_CTX. http://openssl.org/docs/man0.9.8/crypto/SHA1.html
1787
1788Sat Nov 21 13:31:52 2015  NARUSE, Yui  <naruse@ruby-lang.org>
1789
1790	* ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid
1791	  including ext/digest/extconf.h. [Bug #3231]
1792	  https://msdn.microsoft.com/library/36k2cdd4.aspx
1793
1794	* ext/digest/*/extconf.rb: remove ext/digest from include search path
1795	  to avoid confusion of cl.exe.
1796
1797	* ext/digest/*/*.[ch]: explicitly specify def.h's path.
1798
1799Sat Nov 21 13:05:16 2015  NARUSE, Yui  <naruse@ruby-lang.org>
1800
1801	* ext/openssl/ossl.h: LibreSSL doesn't have and need e_os2.h.
1802
1803Sat Nov 21 09:18:10 2015  Koichi Sasada  <ko1@atdot.net>
1804
1805	* thread_sync.c: reduce the specification of Queue#close.
1806	  * Queue#close accepts no arguments.
1807	  * deq'ing on closed queue returns nil, always.
1808	  [Feature #10600]
1809
1810	* test/thread/test_queue.rb: catch up this fix.
1811
1812Sat Nov 21 08:44:21 2015  Koichi Sasada  <ko1@atdot.net>
1813
1814	* compile.c (iseq_compile_each): add debug information to NODE_STR
1815	  strings as default.
1816	  [Feature #11725]
1817
1818	* insns.def (freezestring): add new instruction to support adding
1819	  debug information for dynamically constructed strings.
1820
1821	* compile.c (iseq_compile_each): support adding debug information
1822	  for NODE_DSTR with freezestring instruction.
1823
1824	* error.c (rb_error_frozen): change the debug information ID name
1825	  id_debug_created_info and this field should have a 2 element array
1826	  containing path and line information.
1827
1828	* defs/id.def: ditto.
1829
1830	* test/ruby/test_rubyoptions.rb: catch up this fix.
1831
1832	* test/ruby/test_iseq.rb: now frozen strings are not same.
1833
1834Sat Nov 21 04:34:16 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1835
1836	* symbol.c (rb_str_intern): should not freeze the receiver itself
1837	  unexpectedly.  [ruby-core:71611] [Bug #11721]
1838
1839Fri Nov 20 23:15:18 2015  Naotoshi Seo  <sonots@gmail.com>
1840
1841	* lib/logger.rb: expose logger mutex
1842	  [fix GH-541] Patch by @arthurnn
1843
1844Fri Nov 20 15:05:28 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1845
1846	* Added missing reference of GitHub
1847
1848Fri Nov 20 14:57:01 2015  Trevor Rowe  <trevorrowe@gmail.com>
1849
1850	* lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100"
1851	  header. [fix GH-949]
1852	* test/net/http/test_http.rb: added test.
1853
1854Fri Nov 20 14:39:56 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1855
1856	* lib/net/http.rb: set hostname before call ossl_ssl_set_session.
1857	  [Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek
1858
1859Fri Nov 20 12:53:19 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1860
1861	* array.c: clarify docs for take_while/drop_while samples.
1862	  [ci skip][fix GH-1028] Patch by @leriksen
1863
1864Fri Nov 20 12:48:04 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1865
1866	* ext/socket/socket.c: remove mention of :UNIX in getaddrinfo().
1867	  It's typically not a support option.
1868	  [ci skip][fix GH-990] Patch by @eam
1869
1870Fri Nov 20 12:44:06 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1871
1872	* lib/rss/syndication.rb: Add nodoc marker for #validate_sy_updatePeriod.
1873	  [ci skip][fix GH-1105] Patch by @davydovanton
1874
1875Fri Nov 20 09:05:21 2015  Koichi Sasada  <ko1@atdot.net>
1876
1877	* vm.c (rb_vm_cref_replace_with_duplicated_cref): added.
1878
1879	  CREFs should not be shared by methods between `using'.
1880	  [Bug #11247]
1881
1882	* vm_insnhelper.c (vm_cref_replace_with_duplicated_cref): ditto.
1883
1884	* vm.c (vm_cref_dup): should copy refinements correctly.
1885
1886	* eval.c: use rb_vm_cref_replace_with_duplicated_cref().
1887
1888	* eval_intern.h: add a decl. of
1889	  rb_vm_cref_replace_with_duplicated_cref().
1890
1891	* vm_eval.c (eval_string_with_cref): do not need to pass
1892	  scope's CREF because VM can find out CREF from stack frames.
1893
1894	* test/ruby/test_refinement.rb: add a test.
1895
1896Fri Nov 20 06:52:53 2015  Eric Wong  <e@80x24.org>
1897
1898	* .gitattributes: new file for git users
1899	  [ruby-core:71578] [Feature #11713]
1900
1901Thu Nov 19 22:35:31 2015  Tanaka Akira  <akr@fsij.org>
1902
1903	* ext/socket/ancdata.c: Check buffer full and ignore MSG_TRUNC flag.
1904	  buffer fullness is more robust to detect the message is too big for
1905	  the buffer.
1906	  AIX 7.1 recvmsg doesn't set MSG_TRUNC for rflags when MSG_PEEK is
1907	  given.
1908
1909Thu Nov 19 21:55:11 2015  Koichi Sasada  <ko1@atdot.net>
1910
1911	* gc.c (gc_start): force to invoke GC by GC.start
1912	  even if it is GC.disable'd.
1913
1914	* test/ruby/test_gc.rb: add a test.
1915
1916Thu Nov 19 20:08:59 2015  Koichi Sasada  <ko1@atdot.net>
1917
1918	* gc.c: trivial performance improvements.
1919
1920	    name    modified
1921	    vm1_gc_short_lived*                1.015
1922	    vm1_gc_short_with_complex_long*    1.014
1923	    vm1_gc_short_with_long*            1.000
1924	    vm1_gc_short_with_symbol*          1.016
1925	    vm1_gc_wb_ary*                     1.002
1926	    vm1_gc_wb_ary_promoted*            0.996
1927	    vm1_gc_wb_obj*                     1.045
1928	    vm1_gc_wb_obj_promoted*            1.014
1929	    vm3_gc                             1.021
1930
1931	* gc.c (gc_writebarrier_generational): reorder parameters to optimize
1932	  register passing function call.
1933
1934	* gc.c (gc_writebarrier_incremental): ditto.
1935
1936	* gc.c (rb_gc_writebarrier): remove LIKELY().
1937	  LIKELY() seems to move related functions not better places.
1938
1939Thu Nov 19 19:45:05 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1940
1941	* ruby.c (ruby_prog_init): [DOC] ARGV does not contain the name of
1942	  the executable.  [ruby-core:71561] [Bug #11711]
1943
1944Thu Nov 19 15:53:21 2015  Koichi Sasada  <ko1@atdot.net>
1945
1946	* signal.c: should also clear ruby_disable_gc.
1947	  [Bug #11692]
1948
1949Thu Nov 19 15:31:45 2015  Koichi Sasada  <ko1@atdot.net>
1950
1951	* compile.c (iseq_compile_each): T_IMEMO/iseq objects should be
1952	  wrap with ISeq wrappers. [Bug #11676]
1953
1954Thu Nov 19 15:16:12 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
1955
1956	* lib/rubygems: Update to RubyGems 2.5.0+ HEAD(c6b4946).
1957	  this version includes #1114, #1314, #1322, #1375, #1383, #1387
1958	* test/rubygems: ditto.
1959
1960Thu Nov 19 14:14:37 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
1961
1962	* win32/win32.c (finish_overlapped_socket): return value of this
1963	  function should be only 0 or SOCKET_ERROR.
1964
1965Thu Nov 19 14:12:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
1966
1967	* compile.c (iseq_tailcall_optimize): apply tail call optimization
1968	  before conversion to specialized instructions.  when looking
1969	  back from `leave` instruction, `send` instructions have been
1970	  translated already.
1971
1972Thu Nov 19 13:57:58 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
1973
1974	* win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input,
1975	  because POSIX platforms just do so.  fixes test errors revealed by
1976	  r52647.
1977
1978Thu Nov 19 02:52:30 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
1979
1980	* ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size
1981	  only when vmaxdatlen is nil.
1982
1983Thu Nov 19 02:20:11 2015  Tanaka Akira  <akr@fsij.org>
1984
1985	* test/socket/test_socket.rb (test_udp_recvmsg_truncation): rflags is
1986	  nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL.
1987	  Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709]
1988
1989Thu Nov 19 01:48:05 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
1990
1991	* configure.in: add -static-libgcc for mingw automatically if available.
1992
1993Thu Nov 19 00:53:26 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
1994
1995	* ext/extmk.rb (--extflags): new option to pass EXTLDFLAGS to children,
1996	  especially exts.mk.
1997
1998	* common.mk (EXTMK_ARGS): use above option.
1999
2000Wed Nov 18 22:50:43 2015  Koichi Sasada  <ko1@atdot.net>
2001
2002	* vm_method.c (rb_class_clear_method_cache): should clear all
2003	  RCLASS_CALLABLE_M_TBLs of all sub-classes (T_ICLASS).
2004
2005	  RCLASS_CALLABLE_M_TBL() caches complemented method entries.
2006	  It should be cleared when the modules are cleared.
2007	  On previous version clears only for direct children.
2008	  It is enough for normal modules because corresponding T_ICLASSes
2009	  are direct children.
2010
2011	  However, refinements create complex data structure. So that
2012	  we need to clear all children (and descendants).
2013	  [ruby-core:71423] [Bug #11672]
2014
2015	* vm_method.c (rb_clear_method_cache_by_class): rb_mKernel
2016	  doesn't call rb_class_clear_method_cache, so that
2017	  clear child T_ICLASSes.
2018
2019	* test/ruby/test_refinement.rb: enable disabled test.
2020
2021Wed Nov 18 21:09:08 2015  Koichi Sasada  <ko1@atdot.net>
2022
2023	* vm_method.c (prepare_callable_method_entry): use
2024	  RCLASS_CALLABLE_M_TBL() instead of accessing a filed directly.
2025
2026Wed Nov 18 17:08:18 2015  Koichi Sasada  <ko1@atdot.net>
2027
2028	* method.h: introduce the following field and macros.
2029
2030	  * rb_method_definition_t::complemented_count to count shared method
2031	    entries because of complemented method entries and separate from
2032	    alias_count.
2033
2034	    Shared `def' only by complemented method entries should not prevent
2035	    method re-definition warning.
2036
2037	  * METHOD_ENTRY_COMPLEMENTED(me) to represent complemented method entry.
2038	  * METHOD_ENTRY_COMPLEMENTED_SET(me) to check it as  complemented me.
2039
2040	* vm_insnhelper.c (aliased_callable_method_entry): should also
2041	  check me->def->complemented_count.
2042
2043	* vm_method.c (method_definition_addref_complement): add to count
2044	  complemented method entries number.
2045
2046	* vm_method.c (rb_method_definition_release): release `def' iff
2047	  alias_count == 0 and complemented_count == 0.
2048
2049	* test/ruby/test_module.rb: add a test.
2050
2051Wed Nov 18 17:06:19 2015  Koichi Sasada  <ko1@atdot.net>
2052
2053	* gc.c (rb_raw_obj_info): fix trivial issues.
2054
2055	  * support SPECIAL_CONSTs.
2056	  * fix IMEMO/ment outputs.
2057
2058Wed Nov 18 11:32:15 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2059
2060	* compile.c (iseq_peephole_optimize): eliminate always/never
2061	  branches after a literal object.  this sequence typically
2062	  appears by defined? operator for a method call on a local
2063	  variable.
2064
2065Wed Nov 18 10:33:06 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
2066
2067	* ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size
2068	  when EMSGSIZE occurs on non HAVE_STRUCT_MSGHDR_MSG_CONTROL platforms
2069	  (such as, Windows).  fixes a test error revealed by r52625.
2070
2071Wed Nov 18 10:12:36 2015  Eric Wong  <e@80x24.org>
2072
2073	* ext/socket/ancdata.c (bsock_recvmsg_internal): use 4096 as
2074	  default size to match pre-r52610, which also maps to a common
2075	  page size.
2076
2077Wed Nov 18 10:05:25 2015  Shugo Maeda  <shugo@ruby-lang.org>
2078
2079	* doc/syntax/refinements.rdoc: update documentation to reflect
2080	  recent changes.
2081	  [ci skip] [ruby-core:71466] [Misc #11681] Patch by James Adam
2082
2083Wed Nov 18 09:50:21 2015  Naotoshi Seo  <sonots@gmail.com>
2084
2085	* test/logger/test_logdevice.rb: Fix tests of logger to make it work on
2086	  windows (windows can not remove opened file) [Bug #11702]
2087
2088Wed Nov 18 06:59:52 2015  Eric Wong  <e@80x24.org>
2089
2090	* ext/socket/ancdata.c (bsock_recvmsg_internal): grow buffer
2091	  on unspecified maxdatlen
2092	  [ruby-core:71517] [Bug #11701]
2093	* ext/socket/lib/socket.rb (Socket#recvmsg): nil default for dlen
2094	  (Socket#recvmsg_nonblock): ditto
2095	* test/socket/test_socket.rb (test_recvmsg_udp_no_arg): new test
2096
2097Tue Nov 17 19:50:06 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
2098
2099	* win32/win32.c (fstat): declare for mingw.
2100
2101Tue Nov 17 19:02:59 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
2102
2103	* configure.in (BASERUBY): use Kernel#print instead of Kernel#p because
2104	  the baseruby may output CRLF as end of line.
2105
2106Tue Nov 17 15:34:34 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
2107	* NEWS: Added update from Unicode 7.0.0 to 8.0.0 [ci skip]
2108
2109Tue Nov 17 15:30:30 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
2110	* enc/unicode/casefold.h, name2ctype.h: Change Unicode
2111	  Version for regular expressions from 7.0.0 to
2112	  8.0.0 (with help from Kimihito Matsui) [Feature #11563]
2113
2114Tue Nov 17 14:36:00 2015  Kenichi Kamiya  <kachick1@gmail.com>
2115
2116	* lib/ostruct.rb (dig): Implement OpenStruct#dig
2117	  [Feature #11688]
2118
2119Tue Nov 17 14:04:14 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
2120
2121	* ext/socket/lib/socket.rb (Socket#recvmsg{,_nonblock}): default values
2122	  of clen must be nil.
2123
2124	* ext/socket/ancdata.c (bsock_sendmsg_internal): handle nil of clen.
2125	  fixes test errors introduced at r52602.
2126
2127Tue Nov 17 13:43:46 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
2128
2129	* ext/socket/lib/socket.rb: UNIXSocket is not always exists.  fixes
2130	  install error on Windows, introduced at r52601.
2131
2132Tue Nov 17 11:27:23 2015  Eric Wong  <e@80x24.org>
2133
2134	* ext/socket/lib/socket.rb (Socket#recvfrom_nonblock):
2135	  UDPSocket#recvfrom_nonblock):
2136	  update doc for `exception: false` and destination buffer
2137	  [ruby-core:69542] [Feature #11229]
2138	  [ruby-core:69543] [Feature #11242]
2139
2140Tue Nov 17 11:25:05 2015  Eric Turner  <ericturnerdev@gmail.com>
2141
2142	* array.c (rb_ary_dig), hash.c (rb_hash_dig): [DOC] Update
2143	  comments describing dig methods.  [Fix GH-1103]
2144
2145	* struct.c (rb_struct_dig): [DOC] add rdoc.
2146
2147Tue Nov 17 11:22:22 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
2148	* NEWS: Small grammatical fix [ci skip]
2149
2150Tue Nov 17 10:12:30 2015  Eric Wong  <e@80x24.org>
2151
2152	* ext/socket/lib/socket.rb (Socket.accept_loop): avoid exceptions
2153	  (Socket.udp_server_recv): ditto
2154
2155Tue Nov 17 09:59:00 2015  Eric Wong  <e@80x24.org>
2156
2157	* ext/socket/ancdata.c (bsock_sendmsg_internal): avoid arg parsing
2158	  [ruby-core:71439] [Feature #11339]
2159	  (rsock_bsock_sendmsg): make private, adjust for above
2160	  (rsock_bsock_sendmsg_nonblock): ditto
2161	* ext/socket/rubysocket.h: adjust prototypes
2162	  (rsock_opt_false_p): remove
2163	* ext/socket/basicsocket.c (rsock_init_basicsocket):
2164	  define private methods
2165	* ext/socket/lib/socket.rb (BasicSocket#sendmsg): new wrapper
2166	  (BasicSocket#sendmsg_nonblock): ditto
2167
2168Tue Nov 17 09:45:18 2015  Eric Wong  <e@80x24.org>
2169
2170	* ext/socket/ancdata.c (bsock_recvmsg_internal): avoid arg parsing
2171	  (rsock_bsock_recvmsg): adjust for above change
2172	  (rsock_bsock_recvmsg_nonblock): ditto
2173	  [ruby-core:71439] [Feature #11339]
2174	* ext/socket/rubysocket.h: adjust prototypes for above
2175	* ext/socket/basicsocket.c (rsock_init_basicsocket):
2176	  adjust private methods
2177	* ext/socket/lib/socket.rb (BasicSocket#recvmsg): wrapper method
2178	  (BasicSocket#recvmsg_nonblock): ditto
2179
2180Tue Nov 17 08:36:34 2015  Eric Wong  <e@80x24.org>
2181
2182	* ext/socket/init.c (rsock_s_accept_nonblock): avoid parsing args
2183	  [ruby-core:71439] [Feature #11339]
2184	* ext/socket/rubysocket.h: adjust prototype
2185	* ext/socket/socket.c (sock_accept_nonblock): make private
2186	* ext/socket/tcpserver.c (tcp_accept_nonblock): ditto
2187	* ext/socket/unixserver.c (unix_accept_nonblock): ditto
2188	* ext/socket/lib/socket.rb (Socket#accept_nonblock):
2189	  implement as wrapper, move RDoc
2190	  (TCPServer#accept_nonblock): ditto
2191	  (UNIXServer#accept_nonblock): ditto
2192
2193Tue Nov 17 08:25:57 2015  Eric Wong  <e@80x24.org>
2194
2195	* ext/socket/socket.c (sock_connect_nonblock):
2196	  avoid argument parsing in C.
2197	  [ruby-core:71439] [Feature #11339]
2198	* ext/socket/lib/socket.rb (Socket#connect_nonblock):
2199	  new wrapper for private method, move RDoc
2200
2201Tue Nov 17 08:16:09 2015  Eric Wong  <e@80x24.org>
2202
2203	* ext/socket/init.c (rsock_s_recvfrom_nonblock):
2204	  avoid arg parsing with C API
2205	  [ruby-core:71439] [Feature #11339]
2206	* ext/socket/basicsocket.c (bsock_recv_nonblock):
2207	  adjust for above change, make private
2208	* ext/socket/socket.c (sock_recvfrom_nonblock): ditto
2209	* ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto
2210	* ext/socket/lib/socket.rb (BasicSocket#recv_nonblock):
2211	  new wrapper for private method, move RDoc
2212	  (Socket#recvfrom_nonblock): ditto
2213	  (UDPSocket#recvfrom_nonblock): ditto
2214
2215Mon Nov 16 21:27:54 2015  Naohisa Goto  <ngotogenome@gmail.com>
2216
2217	* test/dtrace/helper.rb (Dtrace::TestCase#trap_probe): dtrace buffer
2218	  size is set as 8m on Solaris (default 4m). [Bug #11697]
2219
2220Mon Nov 16 20:03:14 2015  Naotoshi Seo  <sonots@gmail.com>
2221
2222	* lib/logger.rb: Add Logger#reopen
2223
2224Mon Nov 16 18:21:52 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2225
2226	* object.c (rb_obj_dig): dig in nested structs too.
2227
2228	* struct.c (rb_struct_dig): new method Struct#dig.
2229	  [Feature #11688]
2230
2231Mon Nov 16 17:41:33 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2232
2233	* compile.c (iseq_peephole_optimize): optimize tail calls on aref
2234	  and aset specialized instructions.
2235
2236	* compile.c (iseq_peephole_optimize): optimize replaced leave
2237	  instruction copied to jump instruction too.
2238
2239Mon Nov 16 16:39:38 2015  Akinori MUSHA  <knu@iDaemons.org>
2240
2241	* lib/set.rb: Enable frozen_string_literal.
2242
2243	* lib/set.rb: Move << out of the begin block that ensures pop.
2244
2245Mon Nov 16 16:28:30 2015  Akinori MUSHA  <knu@iDaemons.org>
2246
2247	* lib/set.rb (Hash#flatten!, #add?, #delete?, #collect!, #reject!,
2248	  #select!, #^, #classify): Micro-optimize some methods for
2249	  performance and readability.
2250
2251Mon Nov 16 16:17:58 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2252
2253	* ChangeLog: fixed accidentally commit.
2254
2255Mon Nov 16 16:10:51 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2256
2257	* mkconfig.rb: Add some high-level documentation.
2258	  [ci skip][fix GH-1081] Patch by @ulfalizer
2259
2260Mon Nov 16 15:59:14 2015  yui-knk  <spiketeika@gmail.com>
2261
2262	* proc.c: Add call-seq of `Method#super_method`
2263	  [ci skip][fix GH-1094]
2264
2265Mon Nov 16 15:58:39 2015  Kenichi Kamiya  <kachick1@gmail.com>
2266
2267	* struct.c: Standardize a method signature of Struct#[]=.
2268	  [ci skip][fix GH-1095]
2269
2270Mon Nov 16 15:42:36 2015  Akinori MUSHA  <knu@iDaemons.org>
2271
2272	* lib/set.rb (#>=, #>, #<=, #<): Make use of Hash#>=, #>, #<, and
2273	  #<= when comparing against an instance of the same kind.
2274
2275Mon Nov 16 15:37:11 2015  Naotoshi Seo  <sonots@gmail.com>
2276
2277	* lib/logger.rb: Support symbol and string log level setting
2278
2279Mon Nov 16 15:33:11 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2280
2281	* tool/rbinstall.rb: fix wrong permission for gem specification without
2282	  zlib runtime. [Bug #11685][ruby-dev:49343]
2283
2284Mon Nov 16 12:11:11 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2285
2286	* lib/webrick/httpauth/basicauth.rb: fix a typo.
2287	  [ci skip][fix GH-1099] Patch by @jwworth
2288	* lib/webrick/httpauth/digestauth.rb: ditto.
2289
2290Sun Nov 15 18:28:43 2015  Kenichi Kamiya  <kachick1@gmail.com>
2291
2292	* vm_method.c (set_method_visibility): should fail if the receiver
2293	  is frozen.  [ruby-core:71489] [Bug #11687]
2294
2295Sat Nov 14 22:15:07 2015  Tanaka Akira  <akr@fsij.org>
2296
2297	* ext/socket/lib/socket.rb: Specify frozen_string_literal: true.
2298
2299Sat Nov 14 21:44:56 2015  Tanaka Akira  <akr@fsij.org>
2300
2301	* lib/time.rb: Use "<<" to reduce string allocation.
2302
2303Sat Nov 14 17:45:49 2015  Tanaka Akira  <akr@fsij.org>
2304
2305	* lib/tsort.rb: Specify frozen_string_literal: true.
2306
2307Sat Nov 14 17:25:15 2015  Tanaka Akira  <akr@fsij.org>
2308
2309	* lib/resolv-replace.rb: Specify frozen_string_literal: true.
2310
2311Sat Nov 14 17:00:13 2015  Tanaka Akira  <akr@fsij.org>
2312
2313	* lib/time.rb: Specify frozen_string_literal: true.
2314
2315Sat Nov 14 16:43:02 2015  Tanaka Akira  <akr@fsij.org>
2316
2317	* lib/open3.rb: Specify frozen_string_literal: true.
2318
2319Sat Nov 14 05:04:09 2015  Koichi Sasada  <ko1@atdot.net>
2320
2321	* node.h: remove old comments.
2322
2323Sat Nov 14 04:55:36 2015  Koichi Sasada  <ko1@atdot.net>
2324
2325	* refactoring CREF related code.
2326
2327	* eval_intern.h: remove unused setter functions.
2328	  CREF_CLASS_SET()
2329	  CREF_NEXT_SET()
2330	  CREF_SCOPE_VISI_COPY()
2331
2332	* eval_intern.h: rename flags:
2333	  * NODE_FL_CREF_PUSHED_BY_EVAL_ -> CREF_FL_PUSHED_BY_EVAL
2334	  * NODE_FL_CREF_OMOD_SHARED_ -> CREF_FL_OMOD_SHARED
2335	  and use IMEMO_FL_USER1/2.
2336
2337	* vm.c (vm_cref_new): accept push_by_eval parameter.
2338
2339	* vm.c (vm_cref_new_use_prev): added for rb_vm_rewrite_cref().
2340
2341	* vm_insnhelper.c (vm_cref_push): accept pushed_by_eval parameter.
2342
2343	* vm_insnhelper.h: remove unused macros:
2344	  COPY_CREF_OMOD() and COPY_CREF().
2345
2346	* vm_eval.c, insns.def: catch up this fix.
2347
2348Sat Nov 14 02:58:03 2015  Koichi Sasada  <ko1@atdot.net>
2349
2350	* vm.c (vm_define_method): refactoring.
2351	  * get CREF in this function.
2352	  * cbase is no longer needed (CREF_CLASS(cref) is enough).
2353
2354	* compile.c: RubyVM::FrozenCore.define_method only accept 2 args.
2355
2356Sat Nov 14 02:34:43 2015  Koichi Sasada  <ko1@atdot.net>
2357
2358	* vm.c (vm_define_method): do not use current CREF immediately,
2359	  but check CREF in environment or methods. Methods defined in methods
2360	  should be public.
2361	  [Bug #11571]
2362
2363	* vm_method.c (rb_scope_module_func_check): check CREF in env or me.
2364	  if CREF is contained by `me', then return FALSE.
2365
2366	* test/ruby/test_method.rb: add a test.
2367
2368Sat Nov 14 02:19:16 2015  Koichi Sasada  <ko1@atdot.net>
2369
2370	* method.h: constify rb_cref_t::scope_visi;
2371
2372	* eval_intern.h (CREF_SCOPE_VISI_COPY): catch up this fix.
2373
2374	* vm_method.c: ditto.
2375
2376Sat Nov 14 01:53:52 2015  Naohisa Goto  <ngotogenome@gmail.com>
2377
2378	* pack.c (pack_unpack, AVOID_CC_BUG): Very ugly workaround for
2379	  optimization bug of Oracle Solaris Studio 12.4 on Solaris
2380	  with -xO4 optimization option. [Bug #11684]
2381
2382Fri Nov 13 23:00:23 2015  Hiroshi Shirosaki  <h.shirosaki@gmail.com>
2383
2384	* configure.in: unset LD_PRELOAD on mingw. msys2 child processes
2385	  crash at make test-all with LD_PRELOAD.
2386	  [ruby-core:71461] [Bug #11680]
2387
2388Fri Nov 13 14:00:43 2015  Zachary Scott  <zzak@ruby-lang.org>
2389
2390	* ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug #10735]
2391
2392Fri Nov 13 13:09:16 2015  Zachary Scott  <zzak@ruby-lang.org>
2393
2394	* ext/openssl/ossl_ssl.c: Merge ruby/openssl@81e1a30
2395
2396	* test/openssl/test_ssl.rb: ditto
2397
2398Fri Nov 13 13:05:37 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2399
2400	* prelude.rb (Thread.exclusive): warn as deprecated.
2401
2402Fri Nov 13 10:36:39 2015  Victor Nawothnig  <Victor.Nawothnig@gmail.com>
2403
2404	* parse.y (new_unless): optimize constant condition for `unless`
2405	  as well as `if`.  [Fix GH-1092]
2406
2407Fri Nov 13 10:08:41 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2408
2409	* ext/psych/psych.gemspec: bump version to 2.0.15
2410
2411Thu Nov 12 18:44:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2412
2413	* parse.y (parser_magic_comment): should match exactly.
2414	  [ruby-core:71460] [Bug #11679]
2415
2416Thu Nov 12 16:16:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2417
2418	* template/prelude.c.tmpl: enable tail call optimization.
2419
2420Thu Nov 12 14:17:01 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2421
2422	* parse.y (parser_yylex): ANDDOT at the head of the line denote
2423	  line continuation from previous one to support fluent interface,
2424	  as well as single dot.
2425
2426Thu Nov 12 13:49:50 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2427
2428	* lib/rubygems: Update to RubyGems 2.5.0+ HEAD(db78980).
2429	  this version includes #1367 , #1373 , #1375
2430	* test/rubygems: ditto.
2431
2432Thu Nov 12 10:53:41 2015  Eric Wong  <e@80x24.org>
2433
2434	* benchmark/bm_io_nonblock_noex2.rb: new benchmark based
2435	  on bm_io_nonblock_noex.rb
2436	* io.c (io_read_nonblock): move documentation to prelude.rb
2437	  (io_write_nonblock): ditto
2438	  (Init_io): private, internal methods for prelude.rb use only
2439	* prelude.rb (IO#read_nonblock): wrapper + documentation
2440	  (IO#write_nonblock): ditto
2441	  [ruby-core:71439] [Feature #11339]
2442
2443Wed Nov 11 18:30:28 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2444
2445	* sprintf.c (rb_str_format): look up the key, then get default
2446	  value and raise KeyError if the returned value is nil.
2447	  [ruby-dev:49338] [Ruby trunk - Bug #11677]
2448
2449Wed Nov 11 17:38:24 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2450
2451	* vm_eval.c (local_var_list_add): skip internal local variable
2452	  name by its type but not if it has a name.  internal local
2453	  variable names are just unique per frame, not globally.
2454	  [ruby-core:71437] [Bug #11674]
2455
2456Wed Nov 11 14:14:33 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2457
2458	* transcode.c: fix a typo
2459	[ci skip][fix GH-1091] Patch by @jwworth
2460
2461Wed Nov 11 11:58:38 2015  Shugo Maeda  <shugo@ruby-lang.org>
2462
2463	* lib/net/ftp.rb (initialize): Connections are in passive mode per
2464	  default now.  The default mode can be changed by
2465	  Net::FTP.default_passive=.
2466	  [ruby-core:71146] [Feature #11612]
2467
2468	* lib/net/ftp.rb (default_passive=, default_passive): new methods.
2469
2470Wed Nov 11 09:03:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2471
2472	* sprintf.c (rb_str_format): respect default value of a hash.  no
2473	  longer raises KeyError unless the default value of the hash is
2474	  nil.  [ruby-core:71354] [Bug #11661]
2475
2476Tue Nov 10 20:35:12 2015  Tanaka Akira  <akr@fsij.org>
2477
2478	* lib/open-uri.rb: Remove indicator for "frozen_string_literal: true".
2479
2480	* lib/pp.rb: Ditto.
2481
2482	* lib/prettyprint.rb: Ditto.
2483
2484	* lib/resolv.rb: Ditto.
2485
2486	* lib/securerandom.rb: Ditto.
2487
2488	* lib/tmpdir.rb: Ditto.
2489
2490	* lib/unicode_normalize/tables.rb: Ditto.
2491
2492	* test/net/ftp/test_buffered_socket.rb: Ditto.
2493
2494	* test/net/ftp/test_mlsx_entry.rb: Ditto.
2495
2496	* test/open-uri/test_open-uri.rb: Ditto.
2497
2498	* test/open-uri/test_ssl.rb: Ditto.
2499
2500	* test/pathname/test_pathname.rb: Ditto.
2501
2502	* test/test_pp.rb: Ditto.
2503
2504	* test/test_prettyprint.rb: Ditto.
2505
2506	* tool/transcode-tblgen.rb: Ditto.
2507
2508	* ext/pathname/lib/pathname.rb: Ditto.
2509
2510Tue Nov 10 18:42:24 2015  Aleksandrs Ledovskis  <aleksandrs@ledovskis.lv>
2511
2512	* defs/id.def, parse.y: Switch internal token name to reflect
2513	  current form of safe-call operator.  [Fix GH-1090]
2514
2515Tue Nov 10 18:25:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2516
2517	* hash.c (rb_hash_to_proc): use rb_func_proc_new to make light
2518	  weight proc.  [Feature #11653]
2519
2520Tue Nov 10 18:23:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2521
2522	* proc.c (cfunc_proc_t): add room for me.
2523
2524	* proc.c (cfunc_proc_new): generalise for cfunc proc without env.
2525
2526	* proc.c (rb_func_proc_new, rb_func_lambda_new): new functions to
2527	  make proc/lambda without env from cfunc.
2528
2529Tue Nov 10 17:32:35 2015  Naohisa Goto  <ngotogenome@gmail.com>
2530
2531	* bootstraptest/test_fork.rb ([ruby-dev:37934]): :NPROC (RLIMIT_NPROC)
2532	  is not supported on some platforms (e.g. Solaris 10).
2533
2534Tue Nov 10 16:57:14 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2535
2536	* hash.c (rb_hash_to_proc): new method Hash#to_proc.
2537	  [Feature #11653]
2538
2539Tue Nov 10 14:34:09 2015  NARUSE, Yui  <naruse@ruby-lang.org>
2540
2541	* time.c (rb_time_timespec_new): swap utc and localtime
2542	  to generate gmt flag by INT_MAX - gmtoff.
2543
2544Tue Nov 10 14:01:59 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2545
2546	* hash.c (rb_hash_{le,lt,ge,gt}): new methods, Hash#<=, Hash#<,
2547	  Hash#>=, Hash#>, to test if all elements of a hash are also
2548	  included in another hash, and vice versa.
2549	  [ruby-core:68561] [Feature #10984]
2550
2551Tue Nov 10 11:25:29 2015  NARUSE, Yui  <naruse@ruby-lang.org>
2552
2553	* time.c (rb_timespec_now): added.  [Feature #11558]
2554
2555	* time.c (rb_time_timespec_new): added.  [Feature #11558]
2556
2557Tue Nov 10 06:17:17 2015  Eric Wong  <e@80x24.org>
2558
2559	* variable.c (rb_autoload_load): allow recursive calls
2560	  [ruby-core:71345] [Bug #11658]
2561	* test/ruby/test_autoload.rb (test_autoload_while_autoloading):
2562	  new test by: Hiroshi Shirosaki <h.shirosaki@gmail.com>
2563	  [ruby-core:71390]
2564
2565Tue Nov 10 00:36:46 2015  Tanaka Akira  <akr@fsij.org>
2566
2567	* lib/resolv.rb (Resolv::DNS::Message::MessageEncoder#put_labels):
2568	  Prevent overflow of pointer to labels.
2569	  Patch by Hannes Georg.  [ruby-core:71248] [Bug #11632]
2570
2571Tue Nov 10 00:25:41 2015  Kazuki Tsujimoto  <kazuki@callcc.net>
2572
2573	* gems/bundled_gems: update to power_assert 0.2.6.
2574
2575Mon Nov  9 21:48:17 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2576
2577	* vm_eval.c (rb_check_funcall_default): split from
2578	  rb_check_funcall to return the given fallback value.
2579
2580	* object.c (rb_obj_dig): use rb_check_funcall_default so that tail
2581	  call optimization will be possible.  [Feature #11643]
2582
2583Mon Nov  9 21:27:23 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2584
2585	* array.c (rb_ary_dig): new method Array#dig.
2586
2587	* hash.c (rb_hash_dig): new method Hash#dig.
2588
2589	* object.c (rb_obj_dig): dig in nested arrays/hashes.
2590	  [Feature #11643]
2591
2592Mon Nov  9 18:00:47 2015  Yuki Nishijima  <mail@yukinishijima.net>
2593
2594	* gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta3
2595
2596Mon Nov  9 17:38:14 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2597
2598	* test/runner.rb: use official repository for coverage tool.
2599	* Makefile.in: ditto.
2600	* common.mk: ditto.
2601	* .gitignore: ignored third party repositories.
2602
2603Mon Nov  9 17:29:09 2015  Shugo Maeda  <shugo@ruby-lang.org>
2604
2605	* compile.c (iseq_compile_each): Dynamic string literals should be
2606	  frozen.
2607	  [ruby-core:57574] [Feature #8976]
2608
2609Mon Nov  9 15:56:07 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2610
2611	* common.mk: Use ruby organization url for simplecov repository.
2612
2613Sun Nov  8 16:24:09 2015  Masaki Matsushita <glass.saga@gmail.com>
2614
2615	* NEWS: describe addition of File::TMPFILE
2616
2617Sun Nov  8 15:19:17 2015  Masaki Matsushita <glass.saga@gmail.com>
2618
2619	* file.c: Add O_TMPFILE.
2620
2621Sun Nov  8 14:24:43 2015  windwiny  <windwiny.ubt@gmail.com>
2622
2623	* method.h (METHOD_ENTRY_{VISI,BASIC,FLAGS}_SET): suppress
2624	  shift-op-parentheses warnings.  [Fix GH-1082]
2625
2626Sun Nov  8 14:01:22 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2627
2628	* ext/psych/psych_emitter.c: backport 5bd7744 from tenderlove/psych.
2629	  support backward compatibility of Ruby 2.0
2630
2631Sun Nov  8 10:55:10 2015  Anton Davydov  <antondavydov.o@gmail.com>
2632
2633	* io.c (rb_io_gets_m): Update IO#gets doc for characters more than
2634	  1 byte.  [Fix GH-1085]
2635
2636Sun Nov  8 10:37:58 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2637
2638	* lib/uri/ftp.rb: fix a typo.
2639	  [fix GH-1084][ci skip] Patch by @windwiny
2640
2641Sun Nov  8 08:10:31 2015  Koichi Sasada  <ko1@atdot.net>
2642
2643	* vm_trace.c (exec_hooks_precheck): check need_clean everytime
2644	  to clean-up unused hooks.
2645
2646	* vm_trace.c (list->need_clean): use as boolean value.
2647
2648Sun Nov  8 01:31:27 2015  NARUSE, Yui  <naruse@ruby-lang.org>
2649
2650	* lib/net/http.rb (Net::HTTP#initialize):
2651	  default value of Net::HTTP#open_timeout is now 60 (was nil).
2652
2653Sat Nov  7 12:18:05 2015  Eric Wong  <e@80x24.org>
2654
2655	* string.c (id_to_s): remove redundant variable
2656	  (rb_obj_as_string): trade id_to_s for idTo_s
2657	  (rb_str_equal): replace rb_intern(...) with pre-defined ID
2658	  (rb_str_cmp_m): ditto
2659	  (rb_str_match): ditto
2660	  (str_upto_each): ditto
2661	  (rb_str_sum): ditto
2662	  (Init_String): remove id_to_s initialization
2663
2664Sat Nov  7 11:40:05 2015  Eric Wong  <e@80x24.org>
2665
2666	* thread.c (rb_cThreadShield): make static
2667
2668Sat Nov  7 09:51:38 2015  Koichi Sasada  <ko1@atdot.net>
2669
2670	* vm_trace.c (rb_threadptr_exec_event_hooks_orig):
2671	  maintain trace_running counter on internal events.
2672
2673	  This patch is made by Takashi Kokubun <takashikkbn@gmail.com>.
2674	  [Bug #11603] https://github.com/ruby/ruby/pull/1059
2675
2676Sat Nov  7 03:32:27 2015  Koichi Sasada  <ko1@atdot.net>
2677
2678	* include/ruby/ruby.h (RSTRUCT_PTR): need a close parenthesis.
2679
2680Sat Nov  7 01:32:06 2015  Naohisa Goto  <ngotogenome@gmail.com>
2681
2682	* dir.c (dir_fileno, dirfd): support of Dir#fileno on Solaris 10.
2683	  Solaris 10 does not have dirfd, but the file descriptor of a
2684	  directory is stored in the d_fd or dd_fd member in the DIR struct.
2685	  Note that Solaris 11 has dirfd(3C).
2686
2687	* configure.in: checks for DIR.d_fd and DIR.dd_fd on Solaris 10.
2688
2689Fri Nov  6 23:13:53 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
2690
2691	* array.c: clarifies Array#reject! documentation.
2692	  [fix GH-894][ci skip] Patch by @GxSplinter
2693
2694Fri Nov  6 20:18:25 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2695
2696	* test/runner.rb: extracted test helper.
2697	* test/lib/zombie_hunter.rb: ditto.
2698
2699Fri Nov  6 18:07:47 2015  Naohisa Goto  <ngotogenome@gmail.com>
2700
2701	* include/ruby/ruby.h (rb_array_const_ptr, rb_struct_const_ptr):
2702	  Suppress pointer type mismatch warnings occurred with old version
2703	  of Fujitsu C Compiler (fcc) on Solaris 10. The warnings cause
2704	  failure of TestMkmf::TestConvertible. [Bug #11644] [ruby-dev:49326]
2705	* include/ruby/ruby.h (FIX_CONST_VALUE_PTR): macro for the above,
2706	  only effective with fcc.
2707
2708Fri Nov  6 12:39:21 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2709
2710	* defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ
2711	  from ".?" to "&.".  [ruby-core:71363] [Feature #11537]
2712
2713Fri Nov  6 09:01:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2714
2715	* parse.y (kwd_append): fix segv after invalid keyword argument,
2716	  preceding keyword list is NULL when syntax error is there.
2717	  [ruby-core:71356] [Bug #11663]
2718
2719Fri Nov  6 06:59:37 2015  Eric Wong  <e@80x24.org>
2720
2721	* test/ruby/test_autoload: hoist out ruby_impl_require
2722
2723Thu Nov  5 13:03:58 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2724
2725	* defs/id.def (token_ops): gather associations between IDs,
2726	  operators, and parser tokens.
2727
2728Thu Nov  5 10:17:17 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2729
2730	* ext/socket/socket.c (make_addrinfo): use RARRAY_ASET for
2731	  write-barrier.
2732
2733	* ext/tk/tcltklib.c ({call,eval,invoke}_queue_handler): ditto.
2734
2735	* ext/tk/tkutil/tkutil.c (ary2list, ary2list2): ditto.
2736
2737Thu Nov  5 10:09:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2738
2739	* ext/**/*.c: prefer RARRAY_AREF to indexing RARRAY_CONST_PTR.
2740	  pointed out by hanmac.
2741	  https://github.com/ruby/ruby/commit/3553a86#commitcomment-14187670
2742
2743Wed Nov  4 17:33:24 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2744
2745	* lib/debug.rb: Add documentation for #thread_list_all.
2746	  [Misc #11580][ci skip]
2747
2748Wed Nov  4 15:45:59 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2749
2750	* class.c: fix documentation for rb_define_class{_id}_under.
2751	  [fix GH-991][ci skip] Patch by @kachick
2752
2753Wed Nov  4 15:40:45 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2754
2755	* method.h: fix typo. Patch by @davydovanton
2756	  [fix GH-1076][ci skip]
2757
2758Wed Nov  4 15:39:32 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2759
2760	* hash.c: use correct grammar. Patch by @tveastman
2761	  [fix GH-1079][ci skip]
2762
2763Wed Nov  4 11:38:23 2015  Jake Worth  <jakeworth82@gmail.com>
2764
2765	* process.c (proc_getsid): [DOC] Fix double word 'for' and typo.
2766	  [Fix GH-1080]
2767
2768Wed Nov  4 06:01:52 2015  Eric Wong  <e@80x24.org>
2769
2770	* include/ruby/ruby.h (struct RObject): hide iv_index_tbl type
2771	  [ruby-core:71306] [Feature #11647]
2772
2773Tue Nov  3 06:48:58 2015  Eric Wong  <e@80x24.org>
2774
2775	* variable.c (find_class_path): remove cast for rb_class_ivar_set
2776	  (rb_ivar_set): ditto
2777	  (rb_cvar_set): ditto
2778
2779Tue Nov  3 06:18:21 2015  Eric Wong  <e@80x24.org>
2780
2781	* variable.c (rb_global_tbl): convert to id_table
2782
2783Tue Nov  3 01:58:46 2015  Naohisa Goto  <ngotogenome@gmail.com>
2784
2785	* parse.y (NO_QCALL): fix type mismatch of operands that causes
2786	  compile error with Oracle Solaris Studio on Solaris.
2787	  [Bug #11645] [ruby-dev:49327]
2788
2789Sun Nov  1 17:14:36 2015  Koichi Sasada  <ko1@atdot.net>
2790
2791	* id_table.c (mix_id_table_insert): do not touch list during
2792	  list->hash transition because GC can run during transition.
2793
2794Sun Nov  1 11:07:31 2015  Eric Wong  <e@80x24.org>
2795
2796	* iseq.c (iseq_memsize): account for rb_call_cache entries
2797
2798Sun Nov  1 09:12:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2799
2800	* parse.y (parser_yylex): ':' separated by a comment and a newline
2801	  is not valid as symbol.
2802
2803Sat Oct 31 20:15:48 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2804
2805	* test/openssl/test_pair.rb: skipped tests if openssl doesn't support
2806	  ECDH cipher.
2807
2808Sat Oct 31 14:58:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2809
2810	* man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as
2811	  it does not allow spaces before its argument.
2812	  [ruby-core:71283] [Bug #11641]
2813
2814Sat Oct 31 14:58:01 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2815
2816	* man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as
2817	  it does not allow spaces before its argument.
2818	  [ruby-core:71283] [Bug #11641]
2819
2820Sat Oct 31 10:22:49 2015  yui-knk  <spiketeika@gmail.com>
2821
2822	* eval_error.c (undef_mesg_for): fix typo.  Before this commit
2823	  `ArgumentError: malformed format string - %$` was raised when
2824	  `NameError#message` is called.  [ruby-core:71282] [Bug #11640]
2825	  [Fix GH-1077]
2826
2827Fri Oct 30 21:12:45 2015  Kazuki Tsujimoto  <kazuki@callcc.net>
2828
2829	* gems/bundled_gems: update to power_assert 0.2.5.
2830
2831Fri Oct 30 19:29:52 2015  Koichi Sasada  <ko1@atdot.net>
2832
2833	* gc.c (newobj_slowpath): do not need to use flags hack (commit miss).
2834
2835Fri Oct 30 19:08:48 2015  Koichi Sasada  <ko1@atdot.net>
2836
2837	* gc.c (heap_get_freeobj_from_next_freepage): not so UNLIKELY.
2838
2839Fri Oct 30 18:09:51 2015  Koichi Sasada  <ko1@atdot.net>
2840
2841	* gc.c (newobj_slowpath): reduce 1 parameter to use only registers
2842	  for performance.
2843
2844	  On my laptop, 'N.times{x = []}' (where N = 29_000_000) is
2845	  1.86 sec -> 1.74 sec.
2846
2847Fri Oct 30 12:53:21 2015  yui-knk  <spiketeika@gmail.com>
2848
2849	* test/ruby/test_call.rb: added test for safe navigation operator.
2850	  [fix GH-1066]
2851
2852Fri Oct 30 12:47:34 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2853
2854	* ChangeLog: fix wrong commit name.
2855
2856Fri Oct 30 12:36:16 2015  yui-knk  <spiketeika@gmail.com>
2857
2858	* vm_method.c: added documentation of protected/private methods.
2859	  [fix GH-1072]
2860	* test/ruby/test_module.rb: added testcase for method_defined?
2861	  [fix GH-1071]
2862
2863Fri Oct 30 12:06:59 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2864
2865	* variable.c (rb_class_ivar_set): rename as class specific ivar
2866	  setter, and st_table is no longer involved.
2867
2868Fri Oct 30 11:36:33 2015  Eric Wong  <e@80x24.org>
2869
2870	* variable.c (generic_ivar_remove): adjust type, set valp
2871	  (rb_obj_remove_instance_variable): simplify call
2872	* test/ruby/test_object.rb (test_remove_instance_variable):
2873	  expand for implementation details
2874
2875Fri Oct 30 10:37:56 2015  Eric Wong  <e@80x24.org>
2876
2877	* internal.h (rb_st_insert_id_and_value): update prototype
2878	* variable.c (rb_st_insert_id_and_value): reduce args
2879	  (find_class_path): adjust call for less args
2880	  (rb_ivar_set): ditto
2881	  (rb_cvar_set): ditto
2882	* class.c (rb_singleton_class_attached): ditto
2883
2884Fri Oct 30 09:57:22 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2885
2886	* gems/bundled_gems: update latest gems.
2887	  test-unit-3.1.5 and minitest-5.8.2
2888
2889Fri Oct 30 09:54:05 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
2890
2891	* lib/rubygems: Update to RubyGems HEAD(60d7972).
2892	  this version contains pull requests number of #1343, #1356, #1357, #1363
2893	  at https://github.com/rubygems/rubygems/pulls
2894	* test/rubygems: ditto.
2895
2896Fri Oct 30 07:38:29 2015  Koichi Sasada  <ko1@atdot.net>
2897
2898	* insns.def (getinlinecache/setinlinecache): compare ic->ic_cref and
2899	  current cref only when cached CREF list includes singleton class.
2900
2901	  Singleton classes have own namespaces, so that we need to check
2902	  cref as a key (#10943).
2903
2904	  However, if current CREF list does not include singleton class,
2905	  no need to check CREF because it should be same name space.
2906
2907	* vm_insnhelper.c (vm_get_const_key_cref): add a function returns
2908	  CREF only when it includes singleton class.
2909
2910	* vm_core.h: constify iseq_inline_cache_entry::ic_cref.
2911
2912Fri Oct 30 06:43:50 2015  Koichi Sasada  <ko1@atdot.net>
2913
2914	* vm_insnhelper.c (vm_env_cref): make it inline for performance.
2915
2916	* vm_insnhelper.c (rb_vm_get_cref): use NULL instead of 0.
2917
2918Fri Oct 30 06:20:40 2015  Koichi Sasada  <ko1@atdot.net>
2919
2920	* insns.def: nobody set ic->ic_value.value to Qundef.
2921
2922Fri Oct 30 06:15:50 2015  Koichi Sasada  <ko1@atdot.net>
2923
2924	* vm.c: add ifndef guard for VM_CHECK_MODE.
2925
2926Fri Oct 30 06:13:10 2015  Koichi Sasada  <ko1@atdot.net>
2927
2928	* vm_insnhelper.c (vm_check_frame_detail): should require me for
2929	  VM_FRAME_FLAG_BMETHOD type frame.
2930
2931Thu Oct 29 18:42:30 2015  Koichi Sasada  <ko1@atdot.net>
2932
2933	* gc.c (gc_mark_ptr): specify NOINLINE so that gc_mark() can return
2934	  immediately when obj is not a markable object.
2935
2936Thu Oct 29 18:05:22 2015  Koichi Sasada  <ko1@atdot.net>
2937
2938	* encoding.c (rb_enc_check_str): add for performance.
2939	  This function only accepts T_STRING (and T_REGEXP).
2940
2941	  This patch improves performance of a tiny_segmenter benchmark
2942	  (num=2) 2.54sec -> 2.42sec on my machine.
2943	  https://github.com/chezou/TinySegmenter.jl/blob/master/benchmark/benchmark.rb
2944
2945	* encoding.c: add ENC_DEBUG and ENC_ASSERT() macros.
2946
2947	* internal.h: add a decl. of rb_enc_check_str().
2948
2949	* string.c (rb_str_plus): use rb_enc_check_str().
2950
2951	* string.c (rb_str_subpat_set): ditto.
2952
2953Thu Oct 29 17:16:40 2015  Koichi Sasada  <ko1@atdot.net>
2954
2955	* internal.h: export rb_wb_(un)protected_newobj_of()
2956	  because some extensions include internal.h.
2957
2958Thu Oct 29 16:42:19 2015  Koichi Sasada  <ko1@atdot.net>
2959
2960	* gc.c (rb_imemo_new): should not pass FL_WB_PROTECTED flag.
2961
2962	* gc.c (rb_wb_protected_newobj_of): add more assertions.
2963
2964	* gc.c (rb_wb_unprotected_newobj_of): ditto.
2965
2966Thu Oct 29 16:20:26 2015  Koichi Sasada  <ko1@atdot.net>
2967
2968	* gc.c: introduce rb_wb_unprotected_newobj_of() and
2969	  rb_wb_protected_newobj_of(), pass the WB_PROTECTED
2970	  information explicitly.
2971
2972	* internal.h: use introduced functions by NEWOBJ_OF().
2973	  `flag' is immediate value, so that C compilers can
2974	  solve them at compile time.
2975
2976	* include/ruby/ruby.h: add a comment about that.
2977
2978Thu Oct 29 14:52:03 2015  Koichi Sasada  <ko1@atdot.net>
2979
2980	* gc.c: add rb_objspace::flags::has_hook to represent hook availability.
2981
2982	* gc.c: add gc_event_hook_available_p(objspace) to check that flag.
2983
2984	* gc.c (newobj_of): use gc_event_hook_available_p() instead of
2985	  checking gc_event_hook_needed_p(objspace, RUBY_INTERNAL_EVENT_NEWOBJ).
2986	  for performance.
2987
2988	* gc.c (newobj_init): add UNLIKELY() for FL_WB_PROTECTED flag.
2989
2990	* gc.c (newobj_init): change parameters order (trivial change).
2991
2992Thu Oct 29 14:45:15 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
2993
2994	* vm_core.h (rb_thread_struct): move forward declarations before
2995	  used.
2996
2997Thu Oct 29 14:07:54 2015  Koichi Sasada  <ko1@atdot.net>
2998
2999	* gc.c (gc_mark_ptr): remove debug code for #11244.
3000
3001Thu Oct 29 10:08:33 2015  Eric Wong  <e@80x24.org>
3002
3003	* variable.c (struct autoload_state): usable as wait-queue head
3004	  (struct autoload_data_i): remove 2 words of overhead
3005	  (autoload_i_mark): remove marking for thread
3006	  (autoload_reset): adjust for struct changes
3007	  (rb_autoload): ditto
3008	  (rb_autoloading_value): ditto
3009	  (rb_autoload_load): ditto
3010	  (const_update): ditto
3011
3012Thu Oct 29 08:48:05 2015  Eric Wong  <e@80x24.org>
3013
3014	* variable.c (struct autoload_data_i): add waitq_head
3015	  (struct autoload_state): new struct
3016	  (autoload_require): save result in autoload_state for use
3017	    in autoload_reset
3018	  (autoload_reset): wake up other waiters with open-coded
3019	    wait-queues
3020	  (rb_autoload_load): add ensure autoload_const_set happens
3021	    atomically w.r.t. autoload-triggered "require"
3022	  [ruby-core:70075] [ruby-core:71239] [Bug #11384]
3023
3024Wed Oct 29 00:39:50 2015  Naohisa Goto  <ngotogenome@gmail.com>
3025
3026	* test/rubygems/test_gem_commands_server_command.rb
3027	  (test_handle_options_port): change port from http to discard.
3028	  Solaris does not include "http 80/tcp" in its default
3029	  /etc/inet/services. AFAIK, discard (9/tcp) is older than http
3030	  and it is expected that all OS can resolve the service name.
3031	  [Bug #10004] [ruby-core:63518]
3032
3033Wed Oct 28 23:52:48 2015  Naohisa Goto  <ngotogenome@gmail.com>
3034
3035	* probes_helper.h (RUBY_DTRACE_HOOK): add RB_GC_GUARD, though paranoic.
3036
3037Wed Oct 28 15:36:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3038
3039	* error.c (rb_name_err_new): store the receiver directly.
3040
3041	* error.c (name_err_receiver): return directly stored receiver.
3042	  [Feature #10881]
3043
3044	* error.c (name_err_mesg_to_str): quote the name if unprintable.
3045
3046	* object.c (check_setter_id): use rb_check_id to convert names.
3047
3048	* variable.c (uninitialized_constant): use NameError::message to
3049	  keep the receiver of uninitialized constant.  [Feature #10881]
3050
3051	* error.c (rb_name_err_new): new function to create NameError
3052	  exception instance.  [Feature #10881]
3053
3054Wed Oct 28 13:29:39 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3055
3056	* parse.y (new_attr_op_assign): fix op_assign type, which is
3057	  already an ID since r52284.  [Feature #11537]
3058
3059Tue Oct 27 23:14:14 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3060
3061	* defs/id.def: enable anonymous IDs not to expose internal IDs for
3062	  frozen-string-literal-debug by Marshal.dump.
3063
3064Tue Oct 27 17:06:55 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3065
3066	* defs/id.def: move internal IDs for frozen-string-literal-debug.
3067
3068Tue Oct 27 16:41:05 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3069
3070	* error.c (rb_error_frozen_object): use rb_attr_get instead of
3071	  rb_ivar_get to get rid of warnings for string objects created
3072	  when frozen-string-literal-debug is disabled.
3073
3074Tue Oct 27 16:18:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3075
3076	* lib/logger.rb (Logger::Period#previous_period_end): as weekly
3077	  rotation shifts the log file on Sundays, the end date of the
3078	  previous period should be Saturdays.  fix r45072.
3079	  [ruby-dev:49314] [Bug #11622]
3080
3081Tue Oct 27 16:12:37 2015  NARUSE, Yui  <naruse@ruby-lang.org>
3082
3083	* vm_dump.c (rb_print_backtrace): our addr2line doesn't work on sparc.
3084	  http://rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20151027T043311Z.log.html.gz
3085
3086Tue Oct 27 12:00:33 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3087
3088	* lib/logger.rb (Logger::Period#next_rotate_time): get rid of
3089	  adding to mday not to exceed the days of the month.
3090	  [ruby-core:71185] [Bug #11620]
3091
3092Mon Oct 26 22:43:03 2015  yui-knk  <spiketeika@gmail.com>
3093
3094	* test/ruby/test_module.rb (test_method_defined): Add test cases
3095	  for `public/protected/private _method_defined?`
3096	  These methods accept string as argument, so add string argument
3097	  cases.  [Fix GH-1067]
3098
3099Mon Oct 26 22:23:30 2015  SimonDKnight  <simondknight@hotmail.com>
3100
3101	* lib/racc/rdoc/grammar.en.rdoc: Grammatical errors fixed.
3102	  [Fix GH-1070]
3103
3104Mon Oct 26 18:36:43 2015  Shota Fukumori (sora_h) <her@sorah.jp>
3105
3106	* vm_method.c(rb_method_entry_make):
3107	  [DOC] [ci skip] Remove a needless space from comment
3108	  [Fixes GH-1069] Patch by @yui-knk
3109
3110Mon Oct 26 17:30:13 2015  Ryan Hosford  <tad.hosford@gmail.com>
3111
3112	* lib/fileutils.rb: rename tailing to trailing.
3113	  [Misc #11548]
3114
3115Mon Oct 26 17:11:53 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3116
3117	* parse.y (call_op, call_op2): fix values on ripper.  [Feature #11537]
3118
3119Mon Oct 26 12:55:06 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3120
3121	* parse.y (call_op2): separate from call_op and also allow "::",
3122	  while dot_or_colon should not allow ".?".  [Feature #11537]
3123
3124Mon Oct 26 01:03:23 2015  Rei Odaira  <Rei.Odaira@gmail.com>
3125
3126	* thread_pthread.c: fix compile errors when
3127	  USE_SLEEPY_TIMER_THREAD is disabled.
3128
3129Sun Oct 25 10:12:05 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3130
3131	* symbol.c (op_tbl): add DOTQ for ripper.  [Feature #11537]
3132
3133Sat Oct 24 22:51:18 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
3134
3135	* configure.in: fixed build failure of Haiku.
3136	  [fix GH-984] Patch by @kallisti5
3137	* ext/socket/getaddrinfo.c: ditto.
3138	* ext/socket/getnameinfo.c: ditto.
3139	* ext/socket/rubysocket.h: ditto.
3140
3141Sat Oct 24 21:16:53 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3142
3143	* test/fileutils/test_fileutils.rb (test_uptodate): relax error
3144	  message format.  [Feature #9025], [ruby-core:71178] [Bug #11617]
3145
3146Sat Oct 24 21:06:43 2015  Shota Fukumori (sora_h)  <her@sorah.jp>
3147
3148	* lib/mkmf.rb: Revert r45640 because it may lead to link
3149	  with different libruby. [Bug #9760]
3150
3151Sat Oct 24 15:42:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3152
3153	* bootstraptest/test_method.rb: relax error message format.
3154
3155	* test/ruby/test_arity.rb (err_mess): ditto.
3156	  [Feature #9025], [ruby-core:71178] [Bug #11617]
3157
3158Sat Oct 24 12:47:47 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
3159
3160	* vm_insnhelper.c: improved error message for "wrong number
3161	  of arguments", distinguishing given and expected argument
3162	  numbers clearly. [Feature #9025]
3163
3164Sat Oct 24 11:57:59 2015  Shugo Maeda  <shugo@ruby-lang.org>
3165
3166	* vm_insnhelper.c: remove the typedef redeclaration of
3167	  vm_call_handler.
3168
3169Sat Oct 24 07:29:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3170
3171	* lib/forwardable.rb (def_instance_delegator, def_single_delegator):
3172	  match backtraces against ::Forwardable in case the target class
3173	  is a subclass of BasicObject and does not include Kernel.
3174	  [ruby-core:71176] [Bug #11616]
3175
3176Sat Oct 24 04:10:13 2015  Koichi Sasada  <ko1@atdot.net>
3177
3178	* iseq.c (make_compile_option_value): include frozen_string_literal*
3179	  in a made option value.
3180
3181	* vm_opts.h: forgot to add OPT_FROZEN_STRING_LITERAL_DEBUG
3182	  at last commit.
3183
3184Sat Oct 24 03:58:02 2015  Koichi Sasada  <ko1@atdot.net>
3185
3186	* ruby.c: introduce --enable-frozen-string-literal-debug option.
3187	  If this option is enabled, the modify error will be:
3188	    can't modify frozen String (RuntimeError) =>
3189	    can't modify frozen String, created at test.rb:3 (RuntimeError)
3190
3191	* iseq.h: add compile option frozen_string_literal_debug.
3192
3193	* compile.c: catch up this fix.
3194
3195	* error.c (rb_error_frozen): ditto.
3196
3197	* iseq.c (set_compile_option_from_hash): ditto.
3198
3199	* test/ruby/test_rubyoptions.rb: add a test for this fix.
3200
3201Sat Oct 24 02:02:24 2015  Koichi Sasada  <ko1@atdot.net>
3202
3203	* vm_insnhelper.c: introduce new call handler for simple ISeqs.
3204
3205	  vm_call_iseq_setup_normal_0start() is simple, however it has
3206	  some loops/conditions depends on ISeq::param.size and
3207	  ISeq::local_size (in vm_push_frame(), inlined into this function).
3208
3209	  There are many simple methods which has a few parameters and local
3210	  variables. So that this patch introduces several special functions
3211	  generated in vm_call_iseq_optimized.inc by
3212	  tool/mk_call_iseq_optimized.rb.
3213
3214	  This script makes
3215	    vm_call_iseq_setup_normal_0start_Xparams_Ylocals()
3216	  where X is 0 to 3 and Y is 1 to 6 (as current setting).
3217	  In this case, X * Y = 24 functions are created.
3218
3219	  These functions creates fast method dispatch by inlining
3220	  vm_push_frame() with immediate params/locals sizes.
3221
3222	  On my laptop, we can have the following results.
3223
3224	  vm2_method*       1.083 (8.3% faster)
3225	  vm2_poly_method*  0.961 (3.4% slower)
3226
3227	  It shows 8.3% faster for inner loop method dispatch (hit inline
3228	  cache), but 3.4% slower when inline cache miss because we need
3229	  to find a suitable call handler.
3230
3231	* common.mk: add a rule for vm_call_iseq_optimized.inc.
3232
3233	* tool/mk_call_iseq_optimized.rb: added.
3234
3235	* vm.c: include vm_call_iseq_optimized.inc.
3236
3237Sat Oct 24 01:58:50 2015  Koichi Sasada  <ko1@atdot.net>
3238
3239	* vm_core.h: define vm_call_handler.
3240
3241Sat Oct 24 01:56:01 2015  Koichi Sasada  <ko1@atdot.net>
3242
3243	* vm_core.h, vm_insnhelper.h: move definition of VMDEBUG
3244	  from vm_insnhelper.h to vm_core.h.
3245
3246Sat Oct 24 01:51:01 2015  Akinori MUSHA  <knu@iDaemons.org>
3247
3248	* NEWS: [DOC] In the new safe call syntax, arguments are evaluated
3249	  only if a call is made.
3250
3251	* doc/syntax/calling_methods.rdoc: Fix a typo.
3252
3253Sat Oct 24 00:38:34 2015  Shugo Maeda  <shugo@ruby-lang.org>
3254
3255	* lib/forwardable (def_instance_delegator, def_single_delegator):
3256	  rescue ::Exception instead of Exception in case Exception is
3257	  defined under the target class.
3258	  [ruby-core:71175] [Ruby trunk - Bug #11615]
3259
3260Fri Oct 23 21:10:37 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3261
3262	* error.c (name_err_mesg_to_str): separate class names from the
3263	  receiver description.
3264
3265	* vm_eval.c (make_no_method_exception, raise_method_missing): add
3266	  format specifiers for class names.
3267
3268Fri Oct 23 18:10:32 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
3269
3270	* .gitignore: ignored environmental wrapper files.
3271
3272Fri Oct 23 17:55:29 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
3273
3274	* lib/irb.rb: Ignored assignment of STDOUT.sync = true
3275	  when irb.rb loaded. It's affected to IDE such as Jetbrain.
3276	  [fix GH-864] Patch by @os97673
3277
3278Fri Oct 23 16:35:08 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
3279
3280	* lib/ipaddr.rb, test/test_ipaddr.rb: Reject invalid address contained
3281	  EOL string. Patch by @kachick [fix GH-942][Bug #11513]
3282
3283Fri Oct 23 16:03:26 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
3284
3285	* file.c: fix indent style. [fix GH-977]
3286	* test/ruby/test_string.rb: indent. [fix GH-975]
3287	  [ci skip] These patches are contributed from @yui-knk
3288
3289Fri Oct 23 15:46:09 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
3290
3291	* string.c: Added method signature to include hash. It's inconsistency
3292	  with `gsub` method signature.
3293	  [ci skip][fix GH-1023] Patch by @danielevans
3294
3295Fri Oct 23 15:25:51 2015  Shugo Maeda  <shugo@ruby-lang.org>
3296
3297	* lib/net/imap.rb: remove an empty comment line and -*-.
3298
3299Fri Oct 23 15:20:02 2015  Shugo Maeda  <shugo@ruby-lang.org>
3300
3301	* lib/net/ftp.rb (gettextfile, getbinaryfile): use the safe
3302	  navigation operator.
3303
3304Fri Oct 23 13:51:33 2015  yui-knk  <spiketeika@gmail.com>
3305
3306	* test_call.rb (test_safe_call): Add test cases for safe
3307	  navigation operator assignment.  [Fix GH-1064]
3308	  Validate:
3309	  * can assign an attribute which is `nil`
3310	  * can "or assign" an attribute which is `nil`
3311
3312Fri Oct 23 11:58:21 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3313
3314	* compile.c (iseq_peephole_optimize): optimize lengthy safe
3315	  navigation method chain.  [Feature #11537]
3316
3317Fri Oct 23 10:58:41 2015  Shugo Maeda  <shugo@ruby-lang.org>
3318
3319	* lib/matrix/eigenvalue_decomposition.rb (tridiagonalize): fix
3320	  indentation to avoid a warning when the command line option -w of
3321	  ruby is specified.
3322
3323	* lib/matrix/eigenvalue_decomposition.rb (hessenberg_to_real_schur):
3324	  change the name of a block parameter to avoid a warning when the
3325	  command line option -w of ruby is specified.
3326
3327Fri Oct 23 10:49:36 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3328
3329	* compile.c (iseq_compile_each): support safe navigation of simple
3330	  attribute assignment.  [Feature #11537]
3331
3332	* parse.y (mlhs_node, lhs, attrset_gen): ditto.  keep mid
3333	  non-attrset as the sign of safe navigation.
3334
3335Fri Oct 23 07:17:11 2015  Eric Wong  <e@80x24.org>
3336
3337	* test/io/wait/test_io_wait.rb (test_wait_eof): test return value
3338
3339Fri Oct 23 00:32:02 2015  NARUSE, Yui  <naruse@ruby-lang.org>
3340
3341	* ext/openssl/ossl_ssl.c (ssl_npn_select_cb): explicitly raise error
3342	  in ext/openssl instead of OpenSSL itself because LibreSSL
3343	  silently truncate the selected protocol name by casting the length
3344	  from int to unsigned char. [Bug #11369]
3345	  Patch by Jeremy Evans <merch-redmine@jeremyevans.net>
3346
3347Fri Oct 23 00:49:45 2015  Shugo Maeda  <shugo@ruby-lang.org>
3348
3349	* lib/un.rb (help): change the name of a block parameter to avoid
3350	  a warning when the command line option -w of ruby is specified.
3351
3352Fri Oct 23 00:22:20 2015  Josef Simanek  <josef.simanek@gmail.com>
3353
3354	* string.c (rb_str_tr): [DOC] Escape backslash in String#tr
3355	  documentation.  [Fix GH-1063]
3356
3357Fri Oct 23 00:19:04 2015  yui-knk  <spiketeika@gmail.com>
3358
3359	* array.c (rb_ary_collect): [DOC] Fix space of code example of
3360	  Array#map.  [Fix GH-1062]
3361
3362Thu Oct 22 18:52:53 2015  Akinori MUSHA  <knu@iDaemons.org>
3363
3364	* vm_eval.c (rb_f_loop): When a loop is stopped by a StopIteration
3365	  exception, return what the enumerator has returned instead of
3366	  nil. [ruby-core:71133] [Feature #11498]
3367
3368Thu Oct 22 18:25:10 2015  Shugo Maeda  <shugo@ruby-lang.org>
3369
3370	* lib/net/imap.rb (idle): add a new argument timeout for keep-alive.
3371	  [ruby-core:63693] [Bug #10031]
3372
3373Thu Oct 22 15:30:08 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3374
3375	* compile.c (iseq_peephole_optimize): peephole optimization for
3376	  branchnil jumps.
3377
3378	* compile.c (iseq_compile_each): generate save navigation operator
3379	  code.
3380
3381	* insns.def (branchnil): new opcode to pop the tos and branch if
3382	  it is nil.
3383
3384	* parse.y (NEW_QCALL, call_op, parser_yylex): parse token '.?'.
3385	  [Feature #11537]
3386
3387Thu Oct 22 13:16:19 2015  Guilherme Reis Campos  <guilhermekbsa@gmail.com>
3388
3389	* dir.c (ruby_brace_expand): glob brace expansion edge case fix.
3390	  When there are closing braces '}' before a open brace '{' it
3391	  must be ignored and considered as literal.
3392	  [ruby-core:71138] [Bug #11609]
3393
3394Thu Oct 22 13:13:49 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3395
3396	* io.c (argf_next_argv): check ARGV element type, and try
3397	  conversion if necessary.  [ruby-core:71140] [Bug #11610]
3398
3399Thu Oct 22 11:11:16 2015  Shugo Maeda  <shugo@ruby-lang.org>
3400
3401	* test/net/ftp/test_ftp.rb: add tests for getbinaryfile and
3402	  gettextfile.
3403
3404Wed Oct 21 18:34:06 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3405
3406	* parse.y (parser_magic_comment): allow a sole magic comment without
3407	  indicators, neither other non-space comments.  [Feature #8976]
3408
3409Tue Oct 20 12:17:56 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
3410
3411	* lib/prime.rb: Add basic argument checking to Prime.prime?
3412	  [Bug #11606]
3413
3414Tue Oct 20 12:17:50 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
3415
3416	* lib/prime.rb: Optimize Integer#prime?
3417	  Patch by Nick Slocum [Bug #10354]
3418
3419Tue Oct 20 08:12:47 2015  Rei Odaira  <Rei.Odaira@gmail.com>
3420
3421	* configure.in: pthread_getattr_np is broken on AIX.
3422	  More specifically, the stack address and size returned are
3423	  not correct.
3424
3425Tue Oct 20 05:54:46 2015  Eric Wong  <e@80x24.org>
3426
3427	* ext/fiddle/closure.c (callback): static function
3428
3429Mon Oct 19 10:33:46 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3430
3431	* ext/socket/init.c (rsock_raise_socket_error): get rid of a glibc
3432	  bug.  [ruby-core:71100] [Bug #11600]
3433
3434Mon Oct 19 01:26:26 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
3435
3436	* file.c (rb_file_identical_p): not necessary to compare the paths after
3437	  comparing the file indexes on Windows.  designate by kosaki.
3438
3439Sun Oct 18 21:17:27 2015  Tanaka Akira  <akr@fsij.org>
3440
3441	* lib/open-uri.rb: Specify frozen_string_literal: true.
3442
3443Sun Oct 18 14:37:56 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3444
3445	* random.c (fill_random_bytes_urandom): add a comment why using
3446	  O_NONBLOCK and O_NOCTTY.
3447
3448Sun Oct 18 13:24:17 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3449
3450	* random.c (fill_random_bytes_syscall): use ATOMIC_SET() for
3451	  updating try_syscall.
3452
3453Sun Oct 18 13:03:52 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3454
3455	* include/ruby/backward/util.h: Good-by Borland-C.
3456
3457Sun Oct 18 13:03:09 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3458
3459	* common.mk: add a comment how to use "make test-all"
3460
3461Sun Oct 18 12:59:22 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3462
3463	* common.mk: add comments how to use "make benchmark"
3464
3465Sun Oct 18 12:58:15 2015  Tanaka Akira  <akr@fsij.org>
3466
3467	* lib/securerandom.rb: Specify frozen_string_literal: true.
3468
3469Sun Oct 18 11:22:52 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3470
3471	* dln.c: remove defined(__WATCOMC__).
3472
3473Sun Oct 18 11:16:33 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3474
3475	* lib/mkmf.rb: Good-by Borland-C.
3476
3477Sun Oct 18 11:04:36 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3478
3479	* numeric.c: Good-by Borland-C.
3480	* include/ruby/backward/rubyio.h: ditto.
3481	* include/ruby/backward/st.h: ditto.
3482	* include/ruby/backward/util.h: ditto.
3483	* include/ruby/backward/rubysig.h: ditto.
3484	* include/ruby/backward/classext.h: ditto.
3485	* dln.c: ditto.
3486	* gc.c: ditto.
3487	* win32/resource.rb: ditto.
3488	* win32/dir.h: ditto.
3489	* ext/tk/tcltklib.c: ditto.
3490	* NEWS: announce that Borland-C is no longer supported.
3491
3492Sun Oct 18 10:54:52 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3493
3494	* dln.c: simplify #ifdef. _WIN32 and __CYGWIN__ are exclusive.
3495	  see include/ruby/defines.h
3496	* gc.c: ditto.
3497	* ext/sdbm/_sdbm.c: ditto.
3498
3499Sun Oct 18 10:42:19 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3500
3501	* ruby.c (open_load_file): add a comment.
3502
3503Sun Oct 18 10:12:46 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3504
3505	* file.c (rb_file_identical_p): simplify ifdefs
3506
3507Sun Oct 18 10:01:40 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3508
3509	* ChangeLog: Good-bye OS/2.
3510	* common.mk: ditto.
3511	* configure.in: ditto.
3512	* dln_find.c: ditto.
3513	* ext/Setup.emx: ditto.
3514	* ext/extmk.rb: ditto.
3515	* ext/socket/extconf.rb: ditto.
3516	* ext/zlib/extconf.rb: ditto.
3517	* file.c: ditto.
3518	* include/ruby/defines.h: ditto.
3519	* io.c: ditto.
3520	* lib/mkmf.rb: ditto.
3521	* missing/os2.c: ditto.
3522	* process.c: ditto.
3523	* ruby.c: ditto.
3524	* NEWS: announce OS/2 is no longer supported.
3525
3526Sun Oct 18 08:50:15 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3527
3528	* include/ruby/defines.h (DOSISH): add comments.
3529
3530Sun Oct 18 08:26:51 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3531
3532	* io.c (fptr_finalize): don't release gvl if fptr is not writable.
3533	  writable fd may block on close(2) when it's on NFS. But readonly
3534	  fd doesn't. [Bug #11559]
3535	  result: make benchmark OPTS="-p bm_require_t -e ruby-trunk -e ruby-2.2.2"
3536	    build-ruby:             0.171
3537	    ruby 2.3.0dev(r52151):  0.659
3538	    ruby 2.2.0p95 (r50295): 0.834
3539
3540Sun Oct 18 09:32:58 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3541
3542	* file.c (ruby_is_fd_loadable): this should be fail if st_mode is
3543	  not regular file nor FIFO.
3544
3545Sun Oct 18 09:20:17 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3546
3547	* ruby.c (open_load_file): use rb_thread_wait_fd() instead of reopen.
3548
3549Sun Oct 18 05:11:22 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3550
3551	* ruby.c (open_load_file): reset O_NONBLOCK after open.
3552	  Even if S_ISREG() is true, the file may be file on FUSE filesystem
3553	  or something. We can't assume O_NONBLOCK is safe.
3554	  Moreover, we should wait if the path is point to FIFO. That's
3555	  FIFO semantics. GVL should be transparent from ruby script.
3556	  Thus, just reopen without O_NONBLOCK for filling the requirements.
3557	  [Bug #11060][Bug #11559]
3558
3559	* ruby.c (loadopen_func): new for the above.
3560
3561	* file.c (ruby_is_fd_loadable): new. for checks loadable file type
3562	  of not.
3563	* file.c (rb_file_load_ok): use ruby_is_fd_loadble()
3564	* internal.h: add ruby_is_fd_loadble()
3565
3566	* common.mk: now, ruby.o depend on thread.h.
3567
3568	* test/ruby/test_require.rb
3569	(TestRequire#test_loading_fifo_threading_success): new test.
3570	  This test successful case that loading from FIFO.
3571
3572	* test/ruby/test_require.rb
3573	(TestRequire#test_loading_fifo_threading_raise): rename from
3574	  test_loading_fifo_threading. You shouldn't rescue an exception
3575	  if you test raise or not.
3576	  Moreover, this case should be caught IOError because load(FIFO)
3577	  should be blocked until given any input.
3578
3579Sat Oct 17 13:55:32 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3580
3581	* file.c (rb_file_expand_path_internal): concatenate converted
3582	  string to the result instead of making converted string and
3583	  append it.
3584
3585	* string.c (rb_str_cat_conv_enc_opts): from rb_str_conv_enc_opts,
3586	  separate function to concatenate with transcoding.
3587
3588Sat Oct 17 13:19:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3589
3590	* ruby.c (load_file): unify each preparations and clean-ups by
3591	  merging load_file_internal and load_file_internal2, and remove
3592	  nested rb_protect and rb_ensure.
3593
3594Sat Oct 17 05:28:32 2015  Rei Odaira  <Rei.Odaira@gmail.com>
3595
3596	* test/ruby/test_symbol.rb (test_symbol_fstr_leak): add a warm-up
3597	  code and check RSS to avoid false positive on AIX and false
3598	  negative on Mac OS X. [Bug #10686]
3599
3600Fri Oct 16 15:54:37 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3601
3602	* file.c (rb_file_load_ok): open in non-blocking mode withoout
3603	  releasing GVL.  don't care about others than regular files and
3604	  directories.  [ruby-dev:49272] [Bug #11559]
3605
3606	* ruby.c (load_file_internal): ditto.
3607
3608Thu Oct 15 23:56:03 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3609
3610	* proc.c (rb_sym_to_proc): make void env.
3611
3612Thu Oct 15 13:37:23 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3613
3614	* proc.c (rb_sym_to_proc): move from string.c and create a Proc
3615	  with no environments.  [ruby-core:71088] [Bug #11594]
3616
3617Thu Oct 15 01:57:03 2015  CHIKANAGA Tomoyuki  <nagachika@ruby-lang.org>
3618
3619	* test/objspace/test_objspace.rb
3620	  (test_trace_object_allocations_start_stop_clear): clear object
3621	  allocation table first to get rid of erroneous detection for obj3.
3622	  [ruby-dev:49095] [Bug #11271]
3623
3624Thu Oct 15 01:53:38 2015  Benoit Daloze  <eregontp@gmail.com>
3625
3626	* test/ostruct/test_ostruct.rb: Add tests for OpenStruct#respond_to.
3627	  Patch by @jeremy in [GH-1041]: https://github.com/ruby/ruby/pull/1041
3628
3629Thu Oct 15 01:49:25 2015  Benoit Daloze  <eregontp@gmail.com>
3630
3631	* lib/ostruct.rb: Finish defining OpenStruct attributes lazily.
3632	  Patch by @sferik in [GH-1037]: https://github.com/ruby/ruby/pull/1037
3633	  This commit is an addendum to https://github.com/ruby/ruby/pull/1033.
3634	  It:
3635	  1. lazily defines attribute accessors for copied and marshaled objects,
3636	  2. returns nil when an attribute reader is not defined, and
3637	  3. defines respond_to_missing? to maintain the same respond_to? behavior
3638
3639Wed Oct 14 16:56:50 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3640
3641	* configure.in: check for libunwind.h, which is not available in
3642	  very old OS X SDK.  [ruby-core:71080] [Bug #11591]
3643
3644Wed Oct 14 14:11:42 2015  Brian Black  <bblack@veracode.com>
3645
3646	* iseq.c (rb_insn_operand_intern): change kw in callinfo disasm from the
3647	  number of keyword arguments to an ordered list of the keywords used.
3648	  [Feature #11589]
3649
3650Wed Oct 14 13:58:44 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3651
3652	* parse.y (parser_nextc): send a warning to ripper, not to STDERR
3653	  always.
3654
3655	* parse.y (rb_warn1, rb_warning1): move argument conversions to
3656	  callers.  PRIsVALUE is not valid in String#%.
3657
3658Wed Oct 14 13:37:23 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
3659
3660	* lib/racc/rdoc/grammar.en.rdoc: fix spell error.
3661	  [fix GH-1053][ci skip] Patch by @Matrixbirds
3662
3663Tue Oct 13 22:06:50 2015  Tanaka Akira  <akr@fsij.org>
3664
3665	* ext/socket/raddrinfo.c (rsock_fd_family): Check sa_len.
3666
3667Tue Oct 13 12:14:10 2015  Craig Davison  <craig65535@gmail.com>
3668
3669	* ext/socket/rsock_addrinfo (rsock_addrinfo): specify address
3670	  family.  [Fix GH-1052]
3671
3672	* ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send):
3673	  address family by the receiver.
3674
3675Sun Oct 11 07:09:19 2015  Koichi Sasada  <ko1@atdot.net>
3676
3677	* vm_insnhelper.c (vm_push_frame): initialize other than sp (and ep)
3678	  first for performance.
3679
3680Sun Oct 11 06:21:50 2015  Koichi Sasada  <ko1@atdot.net>
3681
3682	* vm_eval.c, internal.h (rb_yield_1): added for performance which
3683	  doesn't check Qundef.
3684
3685	* numeric.c (int_dotimes): use rb_yield_1.
3686
3687Sun Oct 11 06:19:49 2015  Koichi Sasada  <ko1@atdot.net>
3688
3689	* vm_insnhelper.c (vm_call_iseq_setup_normal): setup sp first
3690	  for performance.
3691
3692Sun Oct 11 05:29:51 2015  Koichi Sasada  <ko1@atdot.net>
3693
3694	* vm.c (invoke_block_from_c): split this function into several
3695	  functions.
3696
3697	* vm_insnhelper.c (vm_yield_callee_setup_arg): remove this function
3698	  because it is only delegation function.
3699
3700Sun Oct 11 03:48:46 2015  Koichi Sasada  <ko1@atdot.net>
3701
3702	* gc.c (newobj_of_slowpass): fix typo (pass -> path).
3703	  Pointed out by Yukihiro Matsumoto  <matz@ruby-lang.org>.
3704
3705	* gc.c (newobj_of_...): `of' is unnecessary.
3706
3707Sat Oct 10 19:04:42 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3708
3709	* ext/socket/udpsocket.c (udp_connect, udp_bind): get open files
3710	  inside ensure functions.
3711
3712Sat Oct 10 18:35:12 2015  Koichi Sasada  <ko1@atdot.net>
3713
3714	* vm_insnhelper.c (vm_call_method0): do not propagate enable_fastpath,
3715	  but pass dummy CC to prevent wrong caching.
3716
3717Sat Oct 10 15:28:45 2015  Koichi Sasada  <ko1@atdot.net>
3718
3719	* import a github pull request
3720	  https://github.com/ruby/ruby/pull/1050
3721	  by Kazuho Oku <kazuho@natadeco.co>.
3722
3723	  This pull request has the following commits.
3724
3725	* gc.c: reduce # of args to 6 (max. of register args on x86-64) so
3726	  that the `newobj_of_slowpass` can be called via TCO.
3727
3728	* gc.c (newobj_of), string.c (str_duplicate): for performance,
3729	  the hot functions must be inlined.
3730
3731	* gc.c: for performance, preceding arguments of `.*newobj_of.*`
3732	  must be same, so that the arg registers can be reused in case of
3733	  TCO.
3734
3735Sat Oct 10 08:52:21 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3736
3737	* ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send): fix
3738	  memory leaks at closed socket.
3739
3740Fri Oct  9 17:29:07 2015  Shugo Maeda  <shugo@ruby-lang.org>
3741
3742	* lib/net/ftp.rb (parse257): refactor.
3743
3744Fri Oct  9 16:42:26 2015  Shugo Maeda  <shugo@ruby-lang.org>
3745
3746	* lib/net/imap.rb: use frozen_string_literal: true.
3747
3748	* test/net/imap/test_imap.rb: ditto.
3749
3750	* test/net/imap/test_imap_response_parser.rb: ditto.
3751
3752Fri Oct  9 15:52:28 2015  Shugo Maeda  <shugo@ruby-lang.org>
3753
3754	* lib/net/ftp.rb: use frozen_string_literal: true.
3755
3756	* test/net/ftp/test_buffered_socket.rb: ditto.
3757
3758	* test/net/ftp/test_ftp.rb: ditto.
3759
3760	* test/net/ftp/test_mlsx_entry.rb: ditto.
3761
3762Fri Oct  9 14:12:35 2015  Shota Fukumori (sora_h)  <her@sorah.jp>
3763
3764	* ext/openssl/lib/openssl/ssl.rb: Revert r52082 because it was
3765	  dropping TLS v1.1 support too. Supporting only TLS v1.2 is too
3766	  early, because many popular websites still don't support it.
3767
3768	  For instance, Servers where aws-sdk connects to still don't support
3769	  TLS v1.2 and it became broken.
3770
3771	  We should consider more carefully about this.
3772
3773	  [Fix GH-873] [Feature #11524]
3774
3775Fri Oct  9 12:52:08 2015  Shugo Maeda  <shugo@ruby-lang.org>
3776
3777	* compile.c (iseq_compile_each): Dynamic string literals (e.g.,
3778	  "#{x}") should not be frozen because they don't literally
3779	  represent strings.
3780	  https://twitter.com/shugomaeda/status/651937650027401216
3781	  https://twitter.com/yukihiro_matz/status/651942882312482817
3782	  https://twitter.com/yukihiro_matz/status/651980835181096960
3783
3784Fri Oct  9 06:52:49 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3785
3786	* benchmark/prepare_require.rb: skip file creation if it already
3787	  exist. Suggested by ko1.
3788
3789Fri Oct  9 06:18:04 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
3790	* benchmark/bm_require.rb: new benchmark for require.
3791	* benchmark/bm_require_thread.rb: new benchmark for conflicting
3792	  require vs thread. like [Bug #11559]
3793	* prepare_require.rb: new file for preparing above tests.
3794	* prepare_require.rb: ditto.
3795
3796Thu Oct  8 14:10:45 2015  Zachary Scott  <zzak@ruby-lang.org>
3797
3798	* ext/openssl/lib/openssl/ssl.rb: Default to TLSv1.2 and drop TLS v1
3799	  Patch provided by @claudijd [Fixes GH-873] [Feature #11524]:
3800	  https://github.com/ruby/ruby/pull/873
3801
3802Wed Oct  7 22:55:02 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3803
3804	* test/minitest/metametameta.rb (with_output): restore output to
3805	  fix mixing test result output in worker responses.
3806
3807Wed Oct  7 21:32:51 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3808
3809	* string.c (str_duplicate): move from rb_str_resurrect to short
3810	  circuit initialization.
3811
3812Wed Oct  7 20:43:14 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3813
3814	* string.c (rb_str_resurrect): fix resurrection of short enough to
3815	  be embedded but not embedded string.
3816
3817Wed Oct  7 20:17:29 2015  Koichi Sasada  <ko1@atdot.net>
3818
3819	* gc.c (newobj_of): divide fast path and slow path
3820	  to avoid register savings for fast path.
3821
3822	  This idea is given by Kazuho Oku <kazuho@natadeco.co>.
3823
3824Wed Oct  7 17:30:50 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3825
3826	* string.c (rb_str_times): optimize for the argument 0 and 1.
3827
3828Wed Oct  7 01:20:46 2015  Koichi Sasada  <ko1@atdot.net>
3829
3830	* gc.h, gc.c: introduce new debug function rb_obj_info_dump(VALUE obj)
3831	  which prints the result of rb_raw_obj_info(..., obj).
3832
3833Wed Oct  7 01:16:11 2015  Koichi Sasada  <ko1@atdot.net>
3834
3835	* vm_args.c: remove an unused field args_info::calling.
3836
3837Tue Oct  6 23:43:10 2015  Koichi Sasada  <ko1@atdot.net>
3838
3839	* proc.c (rb_method_entry_min_max_arity): should support
3840	  OPTIMIZED_METHOD_TYPE_CALL.
3841
3842Tue Oct  6 21:29:08 2015  Tanaka Akira  <akr@fsij.org>
3843
3844	* lib/tmpdir.rb (Dir.tmpdir): return duplicated string to be
3845	  modify safely even when $SAFE > 0.
3846
3847Tue Oct  6 19:24:38 2015  Koichi Sasada  <ko1@atdot.net>
3848
3849	* vm_insnhelper.c (vm_call_method0): use switch() for visibilities
3850	  (for readability).
3851
3852Tue Oct  6 19:23:58 2015  Koichi Sasada  <ko1@atdot.net>
3853
3854	* proc.c (Init_Proc): Proc#call and others should be public.
3855
3856Tue Oct  6 18:51:51 2015  Koichi Sasada  <ko1@atdot.net>
3857
3858	* method.h: IMEMO_FL_USER3 and IMEMO_FL_USER4 is not needed any more.
3859
3860Tue Oct  6 18:47:45 2015  Koichi Sasada  <ko1@atdot.net>
3861
3862	* method.h: remove METHOD_ENTRY_SAFE(me) and related code
3863	  because $SAFE = 3 and 4 is not available.
3864	  Now, $SAFE is not checked on method dispatch at all.
3865
3866	* vm_eval.c, vm_insnhelper.c, vm_method.c: ditto.
3867
3868Tue Oct  6 13:56:14 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3869
3870	* include/ruby/ruby.h: turn function macros into inline functions,
3871	  for debuggers.
3872
3873	* include/ruby/ruby.h: turn constant macros into enums, for
3874	  debuggers.
3875
3876Tue Oct  6 13:48:05 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
3877
3878	* method.h: typo fix. Patch by @davydovanton [fix GH-1032][ci skip]
3879
3880Tue Oct  6 06:54:34 2015  Koichi Sasada  <ko1@atdot.net>
3881
3882	* iseq.c (rb_iseq_free): free iseq::variable_body to avoid memory
3883	  leak.
3884
3885Tue Oct  6 06:32:52 2015  Koichi Sasada  <ko1@atdot.net>
3886
3887	* proc.c: enable optimization of Proc#call.
3888	  [Feature #11569]
3889
3890	* NEWS: write about this optimization and incompatibilities.
3891
3892	* test/ruby/test_backtrace.rb: catch up this fix.
3893
3894Tue Oct  6 04:41:03 2015  Koichi Sasada  <ko1@atdot.net>
3895
3896	* vm_insnhelper.c: solve goto spaghetti.
3897
3898	  Change all goto statement across blocks to tail call functions.
3899
3900Tue Oct  6 02:29:38 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3901
3902	* string.c (rb_str_resurrect): optimize by short circuit to copy
3903	  hidden string without checking length, encoding and so on.
3904
3905Mon Oct  5 23:08:17 2015  CHIKANAGA Tomoyuki  <nagachika@ruby-lang.org>
3906
3907	* test/ruby/test_thread.rb (test_handle_interrupt_blocking): check if
3908	  exception handling was postponed until sleep.
3909
3910Mon Oct  5 22:25:49 2015  Tanaka Akira  <akr@fsij.org>
3911
3912	* lib/pp.rb: Use frozen_string_literal: true.
3913
3914	* lib/prettyprint.rb: Ditto.
3915
3916	* lib/resolv.rb: Ditto.
3917
3918	* lib/tmpdir.rb: Ditto.
3919
3920	* test/test_pp.rb: Ditto.
3921
3922	* test/test_prettyprint.rb: Ditto.
3923
3924	* tool/transcode-tblgen.rb: Ditto.
3925
3926Mon Oct  5 20:39:32 2015  Benoit Daloze  <eregontp@gmail.com>
3927
3928	* test/ruby/test_thread.rb: fix potential race condition.
3929	  The thread could have a "sleep" status because it tries
3930	  to acquire the mutex, but does not have it yet.
3931
3932Mon Oct  5 15:39:30 2015  Zachary Scott  <zzak@ruby-lang.org>
3933
3934	* numeric.c: [DOC] Overview for Numeric class by Joe Corcoran
3935	  This patch was created at ROSSConf Berlin 2015 [Bug #11555]
3936
3937Mon Oct  5 15:34:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3938
3939	* proc.c (proc_new): link ep to calling block.
3940	  [ruby-core:70980] [Bug #11566]
3941
3942Mon Oct  5 00:53:51 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3943
3944	* dir.c (rb_dir_getwd): make ASCII-8BIT if filesystem encoding is
3945	  US-ASCII, like as Dir.glob.
3946
3947Sun Oct  4 23:39:09 2015  Tanaka Akira  <akr@fsij.org>
3948
3949	* enum.c (nmin_filter): Fix limit value.
3950	  patch by Helder Pereira.
3951	  [Bug #11471] [ruby-core:70477]
3952
3953Sun Oct  4 15:11:48 2015  NARUSE, Yui  <naruse@ruby-lang.org>
3954
3955	* enc/euc_jp.c (mbc_case_fold): check given string is valid or not,
3956	  and if invalid, return 1. [Bug #11486]
3957
3958Sun Oct  4 10:09:57 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3959
3960	* dir.c (rb_dir_getwd): normalize OS path to UTF-8 on OS X.
3961
3962Sun Oct  4 00:09:45 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3963
3964	* template/ruby-runner.c.in: wrapper to set dynamic loading path
3965	  environment variable.  /bin/sh on Mac OS X 10.11 (El Capitan)
3966	  clears DYLD_LIBRARY_PATH.
3967
3968	  it must:
3969	  - do nothing even if current directory is not present
3970	  - do not set other environment variables, e.g. PWD, SHLVL, etc
3971	  - do not open other FDs, e.g. pipes for timer thread
3972
3973Sun Oct 2 10:59:00 2015  schneems  <richard.schneeman@gmail.com>
3974
3975	* ext/pathname/lib/pathname.rb: freeze string literals for
3976	  reduced object allocation.
3977	  [Feature #11375] [ruby-core:70043]
3978
3979Fri Oct  2 09:20:20 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
3980
3981	* common.mk, lib/unicode_normalize/tables.rb: Change Unicode
3982	  Version for character normalization data from 7.0.0 to
3983	  8.0.0.
3984
3985Fri Oct  2 00:18:39 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3986
3987	* proc.c (proc_mark): block.ep of Proc from Symbol is now NULL.
3988	  [ruby-core:70961] [Bug #11560]
3989
3990Wed Sep 30 15:47:13 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3991
3992	* vm_args.c (vm_caller_setup_arg_block): bypass Symbol#to_proc
3993	  call to optimize symbol block passing.
3994
3995Wed Sep 30 01:34:34 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
3996
3997	* parse.y (parser_free): fix memory leak at syntax error when
3998	  warn-indent is enabled.
3999
4000Tue Sep 29 22:27:50 2015  Benoit Daloze  <eregontp@gmail.com>
4001
4002	* parse.y: fix minor typo. [ci skip][fix GH-1038].
4003	  Patch by @ltratt.
4004
4005Tue Sep 29 16:53:53 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
4006
4007	* tool/unicode_norm_gen.tmpl, lib/unicode_normalize/tables.rb:
4008	  get rid of many .freeze commands by using frozen_string_literal
4009	  pragma.
4010
4011Tue Sep 29 16:37:29 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4012
4013	* compile.c (compile_dstr_fragments): fix performance by omitting
4014	  the first empty string only for keeping literal encoding if
4015	  other literals are too.  [ruby-core:70930] [Bug #11556]
4016
4017	* string.c (rb_str_append_literal): append but keep encoding non
4018	  US-ASCII.
4019
4020Mon Sep 28 17:40:17 2015  Shugo Maeda  <shugo@ruby-lang.org>
4021
4022	* lib/net/ftp.rb (mtime): use usec instead of fractions to parse
4023	  decimal fractions of a second correctly when the number of digits
4024	  is not 6.
4025
4026Mon Sep 28 16:07:08 2015  Shugo Maeda  <shugo@ruby-lang.org>
4027
4028	* lib/net/ftp.rb (mtime): parse decimal fractions of a second as
4029	  specified in RFC 3659.
4030
4031Mon Sep 28 10:31:12 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4032
4033	* test/test_forwardable.rb: Write basic tests for lib/forwardable.
4034	  [fix GH-1035] Patch by @kachick
4035
4036Sun Sep 27 23:32:46 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4037
4038	* class.c (rb_define_class, rb_define_class_id_under): refine
4039	  error messages.
4040
4041	* class.c (rb_define_module, rb_define_module_id_under): ditto,
4042	  and make consistent with class.
4043
4044Sun Sep 27 18:44:43 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4045
4046	* ChangeLog: removed duplicated message.
4047
4048Sun Sep 27 15:46:58 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4049
4050	* ruby.c (process_options): add an option to enable/disable
4051	  frozen-string-literal.  [Feature #8976]
4052
4053	* compile.c (iseq_compile_each): override compile option by option
4054	  given by pragma.
4055
4056	* iseq.c (rb_iseq_make_compile_option): extract a function to
4057	  overwrite rb_compile_option_t.
4058
4059	* parse.y (parser_set_compile_option_flag): introduce pragma to
4060	  override compile options.
4061
4062	* parse.y (magic_comments): new pragma "frozen-string-literal".
4063	  [Feature #8976]
4064
4065Sun Sep 27 08:16:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4066
4067	* lib/ostruct.rb (delete_field): do not raise NameError for
4068	  existing keys.  [Fix GH-1033]
4069
4070Sun Sep 27 00:34:31 2015  Zachary Scott  <zzak@ruby-lang.org>
4071
4072	* lib/ostruct.rb: Move method definitions for getter/setter to be lazy
4073	  Patch by @sferik in [GH-1033]: https://github.com/ruby/ruby/pull/1033
4074
4075Fri Sep 25 10:07:25 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4076
4077	* lib/net/http.rb: removed unused variable. It's removed at r13648.
4078	  [fix GH-1022] Patch by @nkondratyev
4079
4080Fri Sep 25 09:48:27 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4081
4082	* gems/bundled_gems: upgrade to minitest-5.8.1
4083
4084Fri Sep 25 09:47:12 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4085
4086	* id_table.c: fix typo. [ci skip][fix GH-1031] Patch @davydovanton
4087
4088Fri Sep 25 07:54:05 2015  Rei Odaira  <Rei.Odaira@gmail.com>
4089
4090	* test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_lock): skip
4091	  this test on AIX. The issue is the same as on Solaris.
4092	  [ruby-dev:47631]
4093
4094Thu Sep 24 17:25:09 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4095
4096	* parse.y (paren_args): fix separator token at `foo::bar()` in
4097	  ripper.
4098
4099Thu Sep 24 00:00:17 2015  Rei Odaira  <Rei.Odaira@gmail.com>
4100
4101	* complex.c: ruby/config.h must be included before math.h
4102	  because it defines _LARGE_FILES on AIX and _LARGE_FILES
4103	  must be defined before sys/types.h is included from math.h.
4104	  [Bug #11483]
4105
4106Wed Sep 23 22:22:38 2015  Zachary Scott  <zzak@ruby-lang.org>
4107
4108	* ext/openssl/ossl_pkcs12*: Remove svn commit id macro
4109
4110Wed Sep 23 01:11:28 2015  Zachary Scott  <zzak@ruby-lang.org>
4111
4112	* ext/openssl/*: Remove svn commit id macros to make sync easier
4113
4114Tue Sep 22 04:20:01 2015  Masatoshi SEKI  <m_seki@mva.biglobe.ne.jp>
4115
4116	* test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix GH-1027]
4117	  patch by voxik.
4118
4119	* test/rinda/test_rinda.rb: ditto
4120
4121Mon Sep 21 20:53:39 2015  tbpgr  <tbpgr@tbpgr.jp>
4122
4123	* test/win32ole/test_win32ole_event.rb: fix typo.
4124	  swbemsink_avairable? => swbemsink_available?  [Fix GH-1025]
4125
4126Sun Sep 20 10:07:35 2015  Anton Davydov  <antondavydov.o@gmail.com>
4127
4128	* cont.c (rb_callcc): [DOC] append continuations example across
4129	  methods.  [Fix GH-1026]
4130
4131Sun Sep 20 03:20:21 2015  Koichi Sasada  <ko1@atdot.net>
4132
4133	* iseq.c (rb_iseq_free): free rb_iseq_t::body::cc_entries.
4134
4135Sun Sep 20 02:46:34 2015  Koichi Sasada  <ko1@atdot.net>
4136
4137	* vm_core.h: split rb_call_info_t into several structs.
4138	  * rb_call_info (ci) has compiled fixed information.
4139	  * if ci->flag & VM_CALL_KWARG, then rb_call_info is
4140	    also rb_call_info_with_kwarg. This technique reduce one word
4141	    for major rb_call_info data.
4142	  * rb_calling_info has temporary data (argc, blockptr, recv).
4143	    for each method dispatch. This data is allocated only on
4144	    machine stack.
4145	  * rb_call_cache is for inline method cache.
4146
4147	  Before this patch, only rb_call_info_t data is passed.
4148	  After this patch, above three structs are passed.
4149
4150	  This patch improves:
4151	  * data locality (rb_call_info is now read-only data).
4152	  * reduce memory consumption (rb_call_info_with_kwarg,
4153	    rb_calling_info).
4154
4155	* compile.c: use above data.
4156
4157	* insns.def: ditto.
4158
4159	* iseq.c: ditto.
4160
4161	* vm_args.c: ditto.
4162
4163	* vm_eval.c: ditto.
4164
4165	* vm_insnhelper.c: ditto.
4166
4167	* vm_insnhelper.h: ditto.
4168
4169	* iseq.h: add iseq_compile_data::ci_index and
4170	  iseq_compile_data::ci_kw_index.
4171
4172	* tool/instruction.rb: introduce TS_CALLCACHE operand type.
4173
4174Sun Sep 20 02:18:10 2015  Tanaka Akira  <akr@fsij.org>
4175
4176	* test/lib/envutil.rb: mkfifo command based File.mkfifo method
4177	  definition removed.
4178
4179Fri Sep 18 20:11:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4180
4181	* file.c (rb_file_s_mkfifo): implement File.mkfifo.
4182	  [Feature #11536]
4183
4184Fri Sep 18 16:56:19 2015  Shugo Maeda  <shugo@ruby-lang.org>
4185
4186	* NEWS: add Net::FTP#mlst and Net::FTP#mlsd.
4187
4188Fri Sep 18 07:39:22 2015  Aaron Patterson <tenderlove@ruby-lang.org>
4189
4190	* ext/objspace/objspace_dump.c (obj_type): add IMEMO types to the heap
4191	  dump information.
4192
4193Thu Sep 17 22:33:07 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4194
4195	* common.mk: fix command error with outside builddir.
4196
4197Thu Sep 17 17:42:09 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4198
4199	* common.mk: separated test for test-framework from test-all task.
4200	  They should be invoke at first before tests of test-all.
4201
4202Thu Sep 17 12:05:54 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
4203
4204	* test/ruby/test_dir.rb (TestDir#test_fileno): s/?x/"x"/. Don't
4205	  use tricky code, please.
4206
4207Wed Sep 16 20:49:56 2015  Masaki Suketa  <masaki.suketa@nifty.ne.jp>
4208
4209	* encindex.h: fix typo of last #endif comment. [ci skip]
4210
4211Wed Sep 16 20:39:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4212
4213	* variable.c (set_const_visibility): fail if the class/module is
4214	  frozen.  [ruby-core:70828] [Bug #11532]
4215
4216Wed Sep 16 17:16:43 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4217
4218	* vm_core.h (ENABLE_VM_OBJSPACE): enable per-VM object space on
4219	  Windows by default, as rb_w32_sysinit() no longer depends on
4220	  ruby_xmalloc.
4221
4222Wed Sep 16 15:08:17 2015  Akinori MUSHA  <knu@iDaemons.org>
4223
4224	* doc/syntax/literals.rdoc (Strings): [DOC] Revise the character
4225	  literal part.
4226
4227Wed Sep 16 14:55:33 2015  Akinori MUSHA  <knu@iDaemons.org>
4228
4229	* doc/syntax/literals.rdoc (Strings): [DOC] Document the full list
4230	  of supported escape sequences in string literals.
4231
4232Wed Sep 16 14:49:58 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4233
4234	* string.c (rb_str_setbyte): keep the code range as possible.
4235
4236Wed Sep 16 13:23:48 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
4237
4238	* doc/syntax/literals.rdoc (Strings): mention about ?a literal.
4239
4240Wed Sep 16 12:06:53 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
4241
4242	* dir.c (glob_helper): check pathtype once again by lstat(2) if
4243	  dp->d_type is DT_UNKNOWN. XFS may return DT_UNKNOWN.
4244
4245Wed Sep 16 03:49:19 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
4246
4247	* test/ruby/test_thread.rb (TestThread#test_mutex_synchronize):
4248	  insert waste loop for invoking preemptive thread context switch.
4249	  [Bug #11496]
4250
4251Tue Sep 15 19:38:55 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4252
4253	* gc.c (rb_objspace_alloc, rb_objspace_free): define always
4254	  regardless ENABLE_VM_OBJSPACE, and free heap pages.
4255
4256Tue Sep 15 15:15:41 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4257
4258	* win32/win32.c (rb_w32_sysinit, rb_w32_readdir): compare by
4259	  encoding index to get rid of encoding initialization before VM
4260	  object space allocation.
4261
4262	* dir.c (fundamental_encoding_p, push_glob): compare by encoding
4263	  index immediately.
4264
4265	* enc/{ascii,us_ascii,utf_8}.c: set encoding indexes of
4266	  fundamental built-in encodings so that usable as well as
4267	  allocated rb_encoding before rb_enc_init().
4268
4269	* encindex.h: separate encoding index constants from internal.h.
4270
4271Tue Sep 15 13:13:13 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4272
4273	* array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] correct block
4274	  return values, which may be a negative or positive integer, not
4275	  only -1 or +1.
4276
4277Tue Sep 15 12:49:10 2015  Jason Barnabe  <jason.barnabe@gmail.com>
4278
4279	* array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] Correct
4280	  description of array sort block return values.  And also fix up
4281	  the grammar a bit.  [Fix GH-1020]
4282
4283Tue Sep 15 12:44:32 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4284
4285	* util.c (ruby_qsort): use BSD-style qsort_r if available.
4286
4287Mon Sep 14 19:26:34 2015  Shugo Maeda  <shugo@ruby-lang.org>
4288
4289	* lib/net/ftp.rb (parse_mlsx_entry): parse pathnames including
4290	  space correctly.
4291
4292Mon Sep 14 11:12:10 2015  Anton Davydov  <antondavydov.o@gmail.com>
4293
4294	* lib/racc/rdoc/grammar.en.rdoc: [DOC] fix typo, "convertion" to
4295	  "conversion".  [Fix GH-1016]
4296
4297Sun Sep 13 11:03:13 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4298
4299	* include/ruby/ruby.h: prefix RUBY or RB to global symbols to get
4300	  rid of name conflicts with other headers.
4301
4302	* include/ruby/encoding.h, include/ruby/intern.h: ditto.
4303
4304Sun Sep 13 09:38:51 2015  Shugo Maeda  <shugo@ruby-lang.org>
4305
4306	* lib/net/ftp.rb (size, modify, create, type, unique, perm, lang,
4307	  media_type, charset): new methods to return standard facts.
4308
4309Sat Sep 12 19:43:49 2015  Koichi Sasada  <ko1@atdot.net>
4310
4311	* vm_insnhelper.c (vm_call_iseq_setup_normal): do not clear local
4312	  variables here. vm_push_frame() clears.
4313
4314	* vm_insnhelper.c (vm_call_iseq_setup_tailcall): ditto.
4315
4316	* vm_insnhelper.c (vm_push_frame): move check code to
4317	  vm_check_frame().
4318
4319	  Reorder initialization timing to reuse same values (sp).
4320
4321	* compile.c (rb_iseq_compile_node): use
4322	  iseq_set_exception_local_table() for ISEQ_TYPE_DEFINED_GUARD.
4323
4324Sat Sep 12 23:06:51 2015  Shugo Maeda  <shugo@ruby-lang.org>
4325
4326	* lib/net/ftp.rb (file?, directory?, appendable?, creatable?,
4327	  deletable?, enterable?, renamable?, listable?, directory_makable?,
4328	  purgeable?, readable?, writable?): new methods.
4329
4330Sat Sep 12 21:27:22 2015  Shugo Maeda  <shugo@ruby-lang.org>
4331
4332	* lib/net/ftp.rb (FACT_PARSERS): support system dependent facts
4333	  UNIX.mode, UNIX.owner, UNIX.group, UNIX.ctime, and UNIX.atime.
4334
4335Sat Sep 12 19:08:58 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4336
4337	* win32/win32.c (rb_w32_dup2): should return the new fd on
4338	  success, while msvcrt returns 0 wrongly.
4339
4340Sat Sep 12 18:14:11 2015  Shugo Maeda  <shugo@ruby-lang.org>
4341
4342	* lib/net/ftp.rb (parse_mlsx_entry, mlst) raise an FTPProtoError
4343	  when parsing failed.
4344
4345Sat Sep 12 18:00:35 2015  Shugo Maeda  <shugo@ruby-lang.org>
4346
4347	* lib/net/ftp.rb (TIME_PARSER): use "Z" instead of "+00:00" to
4348	  get UTC time.  Thanks, Wilson Bilkovich.
4349
4350Sat Sep 12 17:55:24 2015  Shugo Maeda  <shugo@ruby-lang.org>
4351
4352	* lib/net/ftp.rb (mlst, mlsd): support new commands MLST and MLSD
4353	  specified in RFC 3659.
4354
4355Sat Sep 12 16:14:31 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4356
4357	* file.c: access()/eaccess() wrapping methods check more than just uid.
4358	  [fix GH-1007][ci skip] Patch by @eam
4359
4360Sat Sep 12 16:07:01 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4361
4362	* README.md: improve markdown rendering for readability.
4363	  [fix GH-1015][ci skip] Patch by @Matrixbirds
4364
4365Sat Sep 12 14:30:03 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4366
4367	* process.c (save_redirect_fd): make saved FDs close-on-exec not
4368	  to be inherited.
4369
4370	* process.c (run_exec_dup2): restore close-on-exec flags too.
4371
4372	* win32/win32.c (fcntl): implement F_GETFD, F_SETFD, and
4373	  F_DUPFD_CLOEXEC.
4374
4375Sat Sep 12 05:35:24 2015  Eric Wong  <e@80x24.org>
4376
4377	* rational.c (string_to_r_strict): preserve encoding in exception
4378
4379Fri Sep 11 20:23:35 2015  Koichi Sasada  <ko1@atdot.net>
4380
4381	* vm_core.h: remove rb_call_info_t::aux.opt_pc.
4382
4383	* vm_insnhelper.c: introduce shortcut functions for opt_pc == 0
4384	  because opt_pc is always 0 on shortcut function.
4385
4386Fri Sep 11 17:49:36 2015  Koichi Sasada  <ko1@atdot.net>
4387
4388	* iseq.c: disable ISeq.load. It enabled accidentally at r51794.
4389
4390Fri Sep 11 11:15:12 2015  Shugo Maeda  <shugo@ruby-lang.org>
4391
4392	* lib/net/ftp.rb (size, mdtm, system): parse responses according to
4393	  RFC 959 and 3659, where reply codes must be followed by SP.
4394
4395	* lib/net/ftp.rb (system): remove LF from the return value.
4396
4397Thu Sep 10 22:48:49 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4398
4399	* parse.y (literal_concat_gen, evstr2dstr_gen): keep literal
4400	  encoding beginning with an interpolation same as the source file
4401	  encoding.  [ruby-core:70703] [Bug #11519]
4402
4403Thu Sep 10 22:15:51 2015  Joe Rafaniello  <jrafanie@redhat.com>
4404
4405	* process.c (rb_f_spawn): Be more specific regarding "other
4406	  values" by having "non-zero positive integers" Add nil, the
4407	  default value, as a possible value and what it means.
4408
4409	  Try to use more consistent language.
4410	  [Fix GH-1008]
4411
4412Thu Sep 10 15:16:02 2015  Shugo Maeda  <shugo@ruby-lang.org>
4413
4414	* lib/net/ftp.rb (getmultiline): refactor.
4415
4416Thu Sep 10 12:17:28 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4417
4418	* compile.c (iseq_build_from_ary_body): register cdhash to the
4419	  iseq constant body instead of compile time mark array, not to
4420	  get GCed.  [ruby-core:70708] [Feature #8543]
4421
4422Wed Sep  9 18:16:14 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
4423
4424	* lib/rubygems/stub_specification.rb (Gem::StubSpecification#data):
4425	  should not change the value of $. when `require`ing gems.
4426	  this fixed test failures introduced by r51813.
4427
4428Wed Sep  9 16:55:45 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
4429
4430	* ruby.c (usage, enable_option, disable_option, process_options): new
4431	  option `--disable-did_you_mean`.
4432
4433	* gem_prelude.rb: now requires did_you_mean gem by default if available.
4434
4435Wed Sep  9 13:38:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4436
4437	* tool/extlibs.rb (do_patch): let "patch" command change the
4438	  working directory and open the patch file there, instead of
4439	  spawn options, so that proper error message will be shown by the
4440	  command not just "chdir" or "open".
4441
4442Wed Sep  9 11:33:05 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
4443
4444	* common.mk (update-gems): use BASERUBY instead of RUNRUBY.
4445
4446Wed Sep  9 11:08:59 2015  Zachary Scott  <zzak@ruby-lang.org>
4447
4448	* lib/delegate.rb: Remove backtrace cleaning for delegated methods
4449	  This patch was provided by Rafael Franca and greatly improves
4450	  performance when an exception is raised. [Bug #11461]
4451
4452Wed Sep  9 10:05:41 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4453
4454	* test/rubygems/test_config.rb: fix broken tests for Windows platform.
4455
4456Wed Sep  9 07:46:32 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4457
4458	* lib/rubygems: Update to RubyGems HEAD(fe61e4c112).
4459	  this version contains new feature that warn invalid SPDX license
4460	  identifiers. https://github.com/rubygems/rubygems/pull/1249
4461	  and #1032, #1023, #1332, #1328, #1306, #1321, #1324
4462	* test/rubygems: ditto.
4463
4464Tue Sep  8 23:17:36 2015  Yuki Nishijima  <mail@yukinishijima.net>
4465
4466	* gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta2.
4467
4468Tue Sep  8 23:09:28 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4469
4470	* io.c (rb_io_s_popen): do not wait the child process during being
4471	  killed.  [ruby-core:70671] [Bug #11510]
4472
4473Tue Sep  8 22:18:04 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
4474
4475	* gems/bundled_gems: revert because ruby trunk never be able to install
4476	  the did_you_mean gem.  retry after enough test.
4477
4478Tue Sep  8 21:48:22 2015  Yuki Nishijima  <mail@yukinishijima.net>
4479
4480	* gems/bundled_gems: Automatically install the did_you_mean gem
4481	  as a bundled gem.  [Feature #11252]
4482
4483Tue Sep  8 17:17:48 2015  Koichi Sasada  <ko1@atdot.net>
4484
4485	* vm_core.h: remove rb_call_info_t::blockiseq.
4486
4487	* insns.def (send, invokesuper): pass blockiseq explicitly.
4488
4489	* compile.c: catch up this fix.
4490
4491	* iseq.c: ditto.
4492
4493	* vm_args.c: ditto.
4494
4495	* iseq.c (ISEQ_MINOR_VERSION): 2->3 because instruction spec was
4496	  changed.
4497
4498Tue Sep  8 15:01:19 2015  Shugo Maeda  <shugo@ruby-lang.org>
4499
4500	* lib/net/ftp.rb (list): fetch all the lines before yielding a block
4501	  to allow other commands in the block.  [Feature #11454]
4502	  Patched by Srikanth Shreenivas.
4503
4504Tue Sep  8 12:05:00 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
4505
4506	* win32/win32.c (rb_w32_read_reparse_point): return correct required
4507	  buffer size for IO_REPARSE_TAG_MOUNT_POINT.
4508
4509Tue Sep  8 00:14:43 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4510
4511	* process.c (rb_execarg_parent_start1): raise with the target path
4512	  name when open() failed.
4513
4514Mon Sep  7 23:45:28 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4515
4516	* process.c (rb_exec_fail): raise with the target directory name
4517	  when chdir() failed.  pointed out by sorah.
4518
4519Mon Sep  7 22:05:28 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4520
4521	* win32/win32.c (insert): should use plain strdup() instead of
4522	  ruby_strdup() at startup time, and plain free()ed in cmdglob().
4523
4524Mon Sep  7 16:49:30 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4525
4526	* vm_core.h (rb_vm_struct): define objspace always regardless
4527	  ENABLE_VM_OBJSPACE.
4528
4529Mon Sep  7 15:54:58 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4530
4531	* ruby_atomic.h (ATOMIC_VALUE_CAS): fix typo.
4532	  TODO: make arguments of all CAS macros consistent.
4533
4534Sun Sep  6 16:07:22 2015  Eric Wong  <e@80x24.org>
4535
4536	* ccan/list/list.h: suppress unused argument warnings
4537	  [ccan commit 6aaca17e07588997417a73fac19dcf0ff17ed81b]
4538
4539Sat Sep  5 11:39:52 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4540
4541	* lib/rss/rss.rb (Time#w3cdtf): fix zero-trimmed width of fraction
4542	  digits.  [ruby-core:70667] [Bug #11509]
4543
4544Sat Sep  5 08:28:58 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4545
4546	* hash.c (rb_hash_equal, rb_hash_eql): [DOC] the orders of each
4547	  hashes are not compared.  [Bug #11508]
4548
4549Fri Sep  4 23:26:22 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4550
4551	* include/ruby/win32.h: fix macro name for VC runtime version,
4552	  RT_VER is only in Makefile.
4553
4554Fri Sep  4 17:46:17 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4555
4556	* doc/contributing.rdoc: fix configuration option.
4557	  [ci skip] [fix GH-1009]
4558
4559Fri Sep  4 04:46:54 2015  Koichi Sasada  <ko1@atdot.net>
4560
4561	* iseq.c (iseq_memsize): functions for wrapper object should have
4562	  iseqw_ prefix.
4563
4564Thu Sep  3 21:12:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4565
4566	* lib/cgi/session.rb (create_new_id): use SHA512 instead of MD5.
4567	  pointed out by SARWAR JAHAN.
4568
4569Thu Sep  3 20:29:18 2015  Koichi Sasada  <ko1@atdot.net>
4570
4571	* gc.c (rb_raw_obj_info): iseq->body->location.first_lineno is Fixnum.
4572
4573Thu Sep  3 17:54:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4574
4575	* vm_eval.c (raise_method_missing): "names" should be singular.
4576	  pointed out by Filip Bartuzi.
4577
4578Thu Sep  3 17:50:09 2015  Koichi Sasada  <ko1@atdot.net>
4579
4580	* gc.c (rb_raw_obj_info): should support IMEMO/iseq.
4581
4582Thu Sep  3 10:07:49 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4583
4584	* vm_eval.c (raise_method_missing): refine error messages when a
4585	  symbol is not given.  [Fix GH-1013]
4586
4587Wed Sep  2 18:49:55 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4588
4589	* ext/psych/*: merge psych master(8737e5b). It contains following fixes.
4590	  https://github.com/tenderlove/psych/pull/242
4591	  https://github.com/tenderlove/psych/pull/246 [ruby-list:50219]
4592	* test/psych/*: ditto.
4593
4594Wed Sep  2 18:04:13 2015  Koichi Sasada  <ko1@atdot.net>
4595
4596	* vm_insnhelper.h (GET_PC_COUNT): remove unused macro.
4597
4598Wed Sep  2 17:18:37 2015  Chris Schneider  <chris@christopher-schneider.com>
4599
4600	* process.c (proc_detach): [DOC] fix typo "intent" as "intend" in
4601	  rdoc.  [Fix GH-1011]
4602
4603Wed Sep  2 16:58:21 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4604
4605	* file.c (rb_realpath_internal): use filesystem encoding if the
4606	  argument is in ASCII encodings.
4607
4608	* win32/file.c (rb_readlink): needs the result encoding.
4609
4610Tue Sep  1 18:37:15 2015  Koichi Sasada  <ko1@atdot.net>
4611
4612	* test/thread/test_queue.rb: catch up last commit.
4613
4614Tue Sep  1 18:16:32 2015  Koichi Sasada  <ko1@atdot.net>
4615
4616	* thread_sync.c (queue_do_close): ignore multiple close to allow
4617	  multiple producers.
4618	  https://bugs.ruby-lang.org/issues/10600#note-14
4619
4620Tue Sep  1 18:06:26 2015  Koichi Sasada  <ko1@atdot.net>
4621
4622	* thread_tools.c: rename thread_tools.c to thread_sync.c.
4623
4624Mon Aug 31 17:04:45 2015  Koichi Sasada  <ko1@atdot.net>
4625
4626	* class.c (move_refined_method): should insert a write barrier
4627	  from an original class to a created (cloned) method entry.
4628
4629	* test/ruby/test_refinement.rb: add a test.
4630
4631Sun Aug 30 02:42:22 2015  Aaron Patterson <tenderlove@ruby-lang.org>
4632
4633	* ext/openssl/ossl_ssl.c (ossl_ssl_method_tab): Only add SSLv3 support
4634	  if the SSL library supports it.  Thanks Kurt Roeckx <kurt@roeckx.be>
4635	  [Bug #11376]
4636
4637	* ext/openssl/extconf.rb: check for SSLv3 support in the SSL
4638	  implementation.
4639
4640	* test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need SSLv3
4641	  if there is no support.
4642
4643Fri Aug 28 16:05:09 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4644
4645	* lib/rdoc/*: Update rdoc master(cfffed5)
4646	  https://github.com/rdoc/rdoc/pull/337
4647	  https://github.com/rdoc/rdoc/pull/367
4648
4649Fri Aug 28 10:16:20 2015  Koichi Sasada  <ko1@atdot.net>
4650
4651	* vm.c (hook_before_rewind): prevent kicking :return event while
4652	  finishing vm_exec func because invoke_block_from_c() kick a :return
4653	  event for bmethods.
4654	  [Bug #11492]
4655
4656	* test/ruby/test_settracefunc.rb: add a test.
4657
4658Thu Aug 27 18:05:42 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4659
4660	* lib/webrick/server.rb: use IO::NULL instead of '/dev/null'
4661	* test/ruby/test_string.rb: ditto.
4662
4663Thu Aug 27 15:24:57 2015  Koichi Sasada  <ko1@atdot.net>
4664
4665	* compile.c (iseq_set_sequence): rename variable names
4666	  to make it readable.
4667
4668Thu Aug 27 07:45:34 2015  Koichi Sasada  <ko1@atdot.net>
4669
4670	* thread_tools.c: add Queue#close(exception=false) and
4671	  SizedQueue#close(exception=false).
4672	  [Feature #10600]
4673
4674	  Trying to deq from a closed empty queue return nil
4675	  if exception parameter equals to false (default).
4676
4677	  If exception parameter is truthy, it raises
4678	  ClosedQueueError (< StopIteration).
4679	  ClosedQueueError inherits StopIteration so that you can write:
4680
4681	    loop{ e = q.deq; (using e) }
4682
4683	  Trying to close a closed queue raises ClosedQueueError.
4684
4685	  Blocking threads to wait deq for Queue and SizedQueue will be
4686	  restarted immediately by returning nil (exception=false) or
4687	  raising a ClosedQueueError (exception=true).
4688
4689	  Blocking threads to wait enq for SizedQueue will be
4690	  restarted by raising a ClosedQueueError immediately.
4691
4692	  The above specification is not proposed specification, so that
4693	  we need to continue discussion to conclude specification this
4694	  method.
4695
4696	* test/thread/test_queue.rb: add tests originally written by
4697	  John Anderson and modify detailed behavior.
4698
4699Wed Aug 26 10:52:02 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4700
4701	* re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching
4702	  till the end of string.  [ruby-core:70592] [Bug #11488]
4703
4704	* test/ruby/test_m17n.rb (test_include?, test_index): add tests by
4705	  Tom Stuart.
4706
4707Wed Aug 26 09:26:00 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4708
4709	* id_table.c (list_table_extend, hash_table_extend): remove C99
4710	  features.  [ruby-dev:49239] [Bug #11487]
4711
4712Tue Aug 25 06:34:43 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4713
4714	* win32/win32.c (w32_symlink): implement symlink().
4715
4716Mon Aug 24 16:01:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4717
4718	* encoding.c (rb_locale_encindex): find encoding index without
4719	  making a string object every time.  [ruby-core:58160] [Bug #9080]
4720
4721Sat Aug 22 15:43:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4722
4723	* vm_eval.c (check_funcall_failed, check_funcall_missing): cache
4724	  results of respond_to? and respond_to_missing?, and search a
4725	  public method only for compatibility with rb_respond_to.
4726
4727Sat Aug 22 08:23:32 2015  Koichi Sasada  <ko1@atdot.net>
4728
4729	* ext/thread/thread.c: move definitions of Queue, SizedQueue
4730	  and ConditionalVariables to thread_tools.c. In other words,
4731	  such classes are built-in.
4732	  [Feature #8919]
4733
4734	  At first, I planned to embed only a Queue class.
4735	  However, rubygems requires 'thread.rb' (rubygems are
4736	  required at first, when launch MRI without --disable-gems).
4737	  So most of people require 'thread.rb' as an embedded library.
4738
4739	  Now, ext/thread/thread.c is empty, only for a dummy for
4740	  compatibility.
4741
4742	* thread.c: move a definition of Mutex class to thread_tools.c.
4743
4744	  And define Mutex class under Thread (so now Mutex is Thread::Mutex).
4745	  Because other thread related classes are also defined under Thread.
4746	  We remain ::Mutex as Thread::Mutex. Only an inspect result is changed.
4747
4748	* common.mk: add dependency from thread.o to thread_tools.c.
4749
4750Sat Aug 22 05:31:37 2015  Koichi Sasada  <ko1@atdot.net>
4751
4752	* vm_opts.h, iseq.c, iseq.h: add compile option to force frozen
4753	  string literals.
4754	  [Feature #11473]
4755
4756	  This addition is not specification change, but to try frozen
4757	  string literal world discussed on [Feature #11473].
4758
4759	  You can try frozen string literal world using this magical line:
4760
4761	    RubyVM::InstructionSequence.compile_option =
4762	      {frozen_string_literal: true}
4763
4764	  Note that this is a global compilation option, so that you need to
4765	  compile another script like that:
4766
4767	    p 'foo'.frozen? #=> false
4768	    RubyVM::InstructionSequence.compile_option =
4769	      {frozen_string_literal: true}
4770	    p 'foo'.frozen? #=> false, because this line is already compiled.
4771	    p eval("'foo'.frozen?") #=> true
4772
4773	  Details:
4774	    * String literals are deduped by rb_fstring().
4775	    * Dynamic string literals ("...#{xyz}...") is now only frozen,
4776	      not deduped. Maybe you have other ideas.
4777
4778	  Now, please do not use this option on your productions :)
4779	  Of course, current specification can be changed.
4780
4781	* compile.c: ditto.
4782
4783	* test/ruby/test_iseq.rb: add a test.
4784
4785Sat Aug 22 02:53:12 2015  Aaron Patterson <tenderlove@ruby-lang.org>
4786
4787	* ext/psych/*: update to Psych 2.0.14
4788
4789	* test/psych/*: ditto
4790
4791Fri Aug 21 19:58:48 2015  Koichi Sasada  <ko1@atdot.net>
4792
4793	* ext/objspace/objspace.c: add a new method ObjectSpace.count_symbols.
4794	  [Feature #11158]
4795
4796	* symbol.c (rb_sym_immortal_count): added to count immortal symbols.
4797
4798	* symbol.h: ditto.
4799
4800	* test/objspace/test_objspace.rb: add a test for this method.
4801
4802	* NEWS: describe about this method.
4803
4804Fri Aug 21 19:48:17 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4805
4806	* win32/Makefile.sub ($(LIBRUBY_SO)): needs additional libraries
4807	  for extension libraries to link statically.
4808	  [ruby-core:70499] [Feature #9018]
4809
4810Fri Aug 21 18:49:22 2015  Koichi Sasada  <ko1@atdot.net>
4811
4812	* include/ruby/ruby.h, cont.c, vm_trace.c: add a new event
4813	  fiber_switch. We need more discussion about this feature
4814	  so that I don't write it on NEWS.
4815	  [Feature #11348]
4816
4817	* test/ruby/test_settracefunc.rb: add tests.
4818
4819Fri Aug 21 17:32:42 2015  Koichi Sasada  <ko1@atdot.net>
4820
4821	* vm_insnhelper.c (vm_invoke_block): we should not expect ci->argc is
4822	  stable after invoking a block. [Bug #11451]
4823
4824	* test/ruby/test_yield.rb: add a test. This test script is given by
4825	  Alex Dowad.
4826
4827Fri Aug 21 06:35:50 2015  Aaron Patterson <tenderlove@ruby-lang.org>
4828
4829	* test/openssl/test_ssl_session.rb: Fix tests so that they take in to
4830	  account OpenSSL installations that have SSLv3 disabled by default.
4831	  Thanks Jeremy Evans <code@jeremyevans.net> for the patches.
4832	  [Bug #11366] [Bug #11367]
4833
4834Thu Aug 20 22:19:17 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4835
4836	* vm_method.c (basic_obj_respond_to): call respond_to_missing?
4837	  only when redefined.  [ruby-core:70460] [Bug #11465]
4838
4839Thu Aug 20 14:13:27 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4840
4841	* vm_eval.c (check_funcall_respond_to): share the behavior with
4842	  rb_obj_respond_to.  [ruby-core:70460] [Bug #11465]
4843
4844	* vm_method.c (vm_respond_to): extract from rb_obj_respond_to and
4845	  merge r39881.
4846
4847Thu Aug 20 08:53:09 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4848
4849	* vm_method.c (rb_obj_respond_to): reuse found method entry
4850	  instead of searching same entry repeatedly.
4851
4852Thu Aug 20 08:31:17 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4853
4854	* dir.c (replace_real_basename), win32/win32.c (opendir_internal):
4855	  check reparse point tags and treat supported tags only as
4856	  symbolic links.  [ruby-core:70454] [Bug #11462]
4857
4858Wed Aug 19 23:59:28 2015  Aaron Patterson <tenderlove@ruby-lang.org>
4859
4860	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add OP_ALL to
4861	  existing options rather than just setting it.  Some vendors apply
4862	  custom patches to their versions of OpenSSL that set default values
4863	  for options.  This commit respects the custom patches they've
4864	  applied.
4865
4866	* test/openssl/test_ssl.rb (class OpenSSL): check that OP_ALL has been
4867	  added to the options.
4868
4869Wed Aug 19 23:55:29 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4870
4871	* process.c (rb_f_spawn): [DOC] elaborate environment variable
4872	  values.  [ruby-core:70456] [Bug #11463]
4873
4874Wed Aug 19 23:48:06 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4875
4876	* win32/win32.c (winnt_lstat): check reparse point tags and treat
4877	  supported tags only as symbolic links.
4878	  [ruby-core:70454] [Bug #11462]
4879
4880Tue Aug 18 20:05:49 2015  NARUSE, Yui  <naruse@ruby-lang.org>
4881
4882	* thread_pthread.c (reserve_stack): ensure the memory is really
4883	  allocated. [Bug #11457]
4884
4885Tue Aug 18 17:19:21 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4886
4887	* parse.y (IS_BEG): include labeled argument state, which was
4888	  EXPR_LABELARG.  [ruby-dev:49221] [Bug #11456]
4889
4890Tue Aug 18 16:16:21 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4891
4892	* include/ruby/ruby.h (RClass): define only in C, `__attribute__`
4893	  between `struct` and the name can't compile with g++.
4894	  [ruby-core:70297] [Bug #11426]
4895
4896Mon Aug 17 20:56:36 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4897
4898	* parse.y: fix syntax error at do-block after a conditional
4899	  operator.  separate label-allowed and after-a-label states from
4900	  others as bit flags.  [ruby-dev:48790] [Bug #10653]
4901
4902Mon Aug 17 11:57:36 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4903
4904	* io.c (rb_io_each_codepoint): raise an exception at incomplete
4905	  character before EOF when conversion takes place.  [Bug #11444]
4906
4907Sun Aug 16 17:33:45 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
4908
4909	* gems/bundled_gems: update latest version of bundled gems.
4910	  It includes minitest-5.8.0 and test-unit 3.1.3.
4911
4912Sun Aug 16 17:24:10 2015  Kazuki Tsujimoto  <kazuki@callcc.net>
4913
4914	* gc.c (gc_mark_children): check if RCLASS_EXT is valid
4915	  before marking. This fixes the following test failure
4916	  introduced in r51126:
4917
4918	    make test-all TESTOPTS='--gc-stress ruby/test_refinement.rb'
4919
4920Sat Aug 15 10:51:08 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4921
4922	* ext/win32/lib/win32/registry.rb (API#SetValue): data size should
4923	  be in bytes, not in chars.  [ruby-core:70365] [Bug #11439]
4924
4925Sat Aug 15 10:15:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4926
4927	* io.c (rb_io_each_codepoint): read more data when read partially.
4928	  [ruby-core:70379] [Bug #11444]
4929
4930Sat Aug 15 04:33:39 2015  Eric Wong  <e@80x24.org>
4931
4932	* hash.c (any_hash): skip rb_objid_hash for static syms
4933	  (rb_num_hash_start): extract from rb_ident_hash
4934	  (rb_objid_hash): call rb_num_hash_start
4935	  (rb_ident_hash): ditto
4936	  [ruby-core:70181] [Feature #11405]
4937
4938Sat Aug 15 04:16:13 2015  Eric Wong  <e@80x24.org>
4939
4940	* iseq.c (rb_iseq_mark): reduce NULL checks
4941
4942Fri Aug 14 18:50:57 2015  Eric Wong  <e@80x24.org>
4943
4944	* method.h (METHOD_ENTRY_VISI_SET): cast visi to int
4945	  (METHOD_ENTRY_FLAGS_SET): ditto
4946
4947Fri Aug 14 18:43:11 2015  Eric Wong  <e@80x24.org>
4948
4949	* process.c (close_unless_reserved): add extra check
4950	  (dup2_with_divert): remove
4951	  (redirect_dup2): use dup2 without divert
4952	  (before_exec_non_async_signal_safe): adjust call + comment
4953	  (rb_f_exec): stop timer thread for all OSes
4954	  (rb_exec_without_timer_thread): remove
4955	* eval.c (ruby_cleanup): adjust call
4956	* thread.c (rb_thread_stop_timer_thread): always close pipes
4957	* thread_pthread.c (struct timer_thread_pipe): add writing field,
4958	  mark owner_process volatile for signal handlers
4959	  (rb_thread_wakeup_timer_thread_fd): check valid FD
4960	  (rb_thread_wakeup_timer_thread): set writing flag to prevent close
4961	  (rb_thread_wakeup_timer_thread_low): ditto
4962	  (CLOSE_INVALIDATE): new macro
4963	  (close_invalidate): new function
4964	  (close_communication_pipe): removed
4965	  (setup_communication_pipe_internal): make errors non-fatal
4966	  (setup_communication_pipe): ditto
4967	  (thread_timer): close reading ends inside timer thread
4968	  (rb_thread_create_timer_thread): make errors non-fatal
4969	  (native_stop_timer_thread): close write ends only, always,
4970	   wait for signal handlers to finish
4971	  (rb_divert_reserved_fd): remove
4972	* thread_win32.c (native_stop_timer_thread): adjust (untested)
4973	  (rb_divert_reserved_fd): remove
4974	* vm_core.h: adjust prototype
4975	  [ruby-core:70386] [Bug #11336]
4976
4977Fri Aug 14 18:40:43 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4978
4979	* ext/win32/lib/win32/registry.rb (API#SetValue): add terminator
4980	  size, not 1 byte.  [ruby-core:70365] [Bug #11439]
4981
4982Thu Aug 13 22:49:42 2015  Juanito Fatas  <katehuang0320@gmail.com>
4983
4984	* lib/timeout.rb (Timeout#timeout): freeze a string message to
4985	  reduce string allocations.  [Fix GH-996]
4986
4987Thu Aug 13 17:42:34 2015  Koichi Sasada  <ko1@atdot.net>
4988
4989	* vm_core.h (rb_call_info_kw_arg_bytes): move the definition
4990	  to iseq.h because this function is shared with iseq.c and compile.c.
4991
4992Thu Aug 13 14:36:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
4993
4994	* object.c (rb_num_to_dbl): move from num2dbl_with_to_f in math.c.
4995
4996Thu Aug 13 09:01:25 2015  Eric Wong  <e@80x24.org>
4997
4998	* load.c (features_index_add): avoid repeat calculation
4999
5000Wed Aug 12 21:57:31 2015  Koichi Sasada  <ko1@atdot.net>
5001
5002	* id_table.c: IMPL() macro accept op as _opname instead of opname
5003	  because jemalloc seems to replace the word `free' to `je_free'.
5004
5005Wed Aug 12 21:51:11 2015  Koichi Sasada  <ko1@atdot.net>
5006
5007	* id_table.c (mix_id_table_insert): fix memory leak.
5008
5009Wed Aug 12 21:17:38 2015  Eric Wong  <e@80x24.org>
5010
5011	* iseq.c (iseq_memsize): reimplement for wrapper
5012	  (param_keyword_size): extracted from iseq_memsize
5013	  (iseqw_mark): new mark function
5014	  (iseqw_data_type): new data type
5015	  (iseqw_new): wrap as iseqw_data_type
5016	  (iseqw_check): adjust for wrapper
5017	  (Init_ISeq): remove iseqw_iseq_key initialization
5018	* test/objspace/test_objspace.rb: new test
5019	  [ruby-core:70344] [Feature #11435]
5020
5021Wed Aug 12 21:15:27 2015  Eric Wong  <e@80x24.org>
5022
5023	* vm_core.h (rb_call_info_kw_arg_bytes): extract from compile.c
5024	* compile.c (iseq_build_callinfo_from_hash): use above function
5025
5026Wed Aug 12 18:00:17 2015  Koichi Sasada  <ko1@atdot.net>
5027
5028	* class.c (move_refined_method): same as the last commit.
5029
5030Wed Aug 12 17:57:53 2015  Koichi Sasada  <ko1@atdot.net>
5031
5032	* class.c, gc.c vm.c: use ID_TABLE_* instead of ST_*
5033	  (such as ST_CONTINUE) for enum rb_id_table_iterator_result.
5034
5035Wed Aug 12 17:05:36 2015  Koichi Sasada  <ko1@atdot.net>
5036
5037	* id_table.h: introduce ID key table.
5038	  [Feature #11420]
5039
5040	  This table only manage ID->VALUE table to reduce overhead of st.
5041
5042	  Some functions prefixed rb_id_table_* are provided.
5043
5044	* id_table.c: implement rb_id_table_*.
5045
5046	  There are several algorithms to implement it.
5047
5048	  Now, there are roughly 4 types:
5049
5050	    * st
5051	    * array
5052	    * hash (implemented by  Yura Sokolov)
5053	    * mix of array and hash
5054
5055	  The macro ID_TABLE_IMPL can choose implementation.
5056	  You can see detailes about them at the head of id_table.c.
5057
5058	  At the default, I choose 34 (mix of list and hash).
5059	  This is not final decision.
5060	  Please report your suitable parameters or
5061	  your data structure.
5062
5063	  * symbol.c: introduce rb_id_serial_t and rb_id_to_serial()
5064	    to represent ID by serial number.
5065
5066	  * internal.h: use id_table for method tables.
5067
5068	  * class.c, gc.c, marshal.c, vm.c, vm_method.c: ditto.
5069
5070Wed Aug 12 05:19:11 2015  Eric Wong  <e@80x24.org>
5071
5072	* parse.y (rb_parser_compile_cstr): remove volatile arg
5073	  (rb_parser_compile_string): ditto
5074	  (rb_parser_compile_file): ditto
5075	  (rb_parser_compile_string_path): ditto
5076	  (rb_parser_compile_file_path): ditto
5077	  [ruby-core:70323] [Misc #11431]
5078
5079Tue Aug 11 22:59:57 2015  Tanaka Akira  <akr@fsij.org>
5080
5081	* numeric.c (Init_Numeric): Fix document for Float::MIN and
5082	  Float::EPSILON.
5083
5084Tue Aug 11 15:22:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5085
5086	* include/ruby/ruby.h (ALLOCV_N): check integer overflow, as well
5087	  as ruby_xmalloc2.  pointed out by Paul <pawlkt AT gmail.com>.
5088
5089Tue Aug 11 14:57:09 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5090
5091	* array.c (rb_ary_repeated_permutation): fix buffer size, ALLOCV_N
5092	  already multiplies element size.
5093
5094Tue Aug 11 12:13:20 2015  Jeremy Evans  <merch-redmine@jeremyevans.net>
5095
5096	* test/openssl/test_ssl.rb: Fix LocalJumpErrors being raised
5097	  in OpenSSL tests. [ruby-core:70020][Bug #11368]
5098
5099Tue Aug 11 11:54:13 2015  Alexey Lipnyagov  <liptonshmidt@gmail.com>
5100
5101	* string.c: Fix documentation for String#slice
5102	  [ruby-core:70298][Bug #11427]
5103
5104Tue Aug 11 11:53:28 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5105
5106	* parse.y (superclass): make superclass rule optional and allow
5107	  any contents without a terminator.  [EXPERIMENTAL]
5108
5109Tue Aug 11 10:58:42 2015  Juanito Fatas  <juanitofatas@gmail.com>
5110
5111	* string.c: [DOC] Make #end_with? example doc symmetry
5112	  with #start_with? [fix GH-992][ci skip]
5113
5114Tue Aug 11 10:51:19 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
5115
5116	* test/ruby/test_array.rb: Add test for `Array#flatten` with level 1
5117	  [fix GH-986] Patch @yui-knk
5118
5119Tue Aug 11 10:48:16 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
5120
5121	* enum.c: added doc for Enumerable#zip
5122	  [fix GH-985] Patch by @yui-knk
5123	* test/ruby/test_enum.rb: added tests for Enumerable#zip
5124	  [fix GH-985] Patch @yui-knk
5125
5126Tue Aug 11 10:33:26 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
5127
5128	* vm_method.c: typo fix [fix GH-993][ci skip] Patch by @0x0dea
5129	* test/ruby/test_refinement.rb: ditto.
5130
5131Sun Aug  9 14:15:54 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5132
5133	* vm.c (Init_vm_objects, rb_vm_fstring_table): use frozen_strings
5134	  table in rb_vm_t.  [ruby-core:70274] [Bug #11423]
5135
5136Sat Aug  8 03:59:51 2015  Zachary Scott  <zzak@ruby-lang.org>
5137
5138	* object.c: [DOC] Improve grammar for Module#===
5139	  Patch by @SkyBirdSoar in documenting-ruby/ruby#52:
5140	  https://github.com/documenting-ruby/ruby/pull/52
5141
5142Sat Aug  8 03:39:33 2015  Zachary Scott  <zzak@ruby-lang.org>
5143
5144	* hash.c: [DOC] Improve description of symbol key syntax
5145	  Patch by Raphael Das Gupta in documenting-ruby/ruby#51:
5146	  https://github.com/documenting-ruby/ruby/pull/51
5147
5148Fri Aug  7 21:04:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5149
5150	* parse.y (parser_params): turn in_def and in_single into bit
5151	  flags and reduce the size by 2-words.
5152
5153	* parse.y (parser_params): remove redundant prefixes.
5154
5155	* parse.y (yylex): non-pure parser has not been supported since
5156	  merger of ripper.  change argument types from void pointers.
5157
5158Fri Aug  7 17:07:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5159
5160	* proc.c (method_super_method): uncallable method entry does not
5161	  have the defined class, use the owner instead.
5162	  [ruby-core:70254] [Bug #11419]
5163
5164	* test/ruby/test_method.rb (test_super_method_unbound): add test
5165	  by Akira Matsuda.
5166
5167Thu Aug  6 10:49:57 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5168
5169	* node.c (rb_alloc_tmp_buffer): round up the size and check the
5170	  range.
5171
5172	* ruby_atomic.h (ATOMIC_VALUE_EXCHANGE, ATOMIC_VALUE_CAS): add
5173	  atomic operations for VALUE.
5174
5175Thu Aug  6 08:15:49 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5176
5177	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move
5178	  SSLSocket#sysclose to Ruby.
5179
5180	* ext/openssl/ossl_ssl.c (ossl_ssl_close): ditto
5181
5182Thu Aug  6 07:57:21 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5183
5184	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move nonblock
5185	  enable to SSLSocket#initialize and remove Nonblock module.
5186
5187Thu Aug  6 07:53:47 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5188
5189	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move
5190	  OpenSSL::SSL::SSLSocket#initialize to Ruby.
5191
5192	* ext/openssl/ossl_ssl.c: ditto
5193
5194Thu Aug  6 02:25:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5195
5196	* node.c (rb_alloc_tmp_buffer): use NODE_ALLOCA to mark locations
5197	  like as builtin alloca.  [ruby-core:70251] [Bug #11418]
5198
5199Wed Aug  5 14:37:55 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5200
5201	* transcode.c (rb_econv_open0): rb_econv_t::source_encoding_name
5202	  and rb_econv_t::destination_encoding_name should refer static
5203	  strings always or NULL.  [ruby-core:70247] [Bug #11416]
5204
5205Tue Aug  4 16:53:43 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5206
5207	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): extract callback
5208	  lookup to private Ruby methods. This means we can keep the default
5209	  DH callback logic hidden from consumers.  Also, since the SSLSocket
5210	  always has a context, we can remove conditionals about that
5211	  instance.
5212
5213	* ext/openssl/ossl_ssl.c: move callback lookup methods to private Ruby
5214	  methods.
5215
5216Tue Aug  4 16:40:26 2015  Koichi Sasada  <ko1@atdot.net>
5217
5218	* test/ruby/test_module.rb: should not expect a method table ordering.
5219	  [Feature #11414]
5220
5221Tue Aug 04 15:30:04 2015  Koichi Sasada  <ko1@atdot.net>
5222
5223	* proc.c (rb_block_clear_env_self): clear by Qfalse instead of Qnil.
5224	  [Bug #11409]
5225
5226	* test/ruby/test_eval.rb: add tests for this issue,
5227	  written by @0x0dea.
5228	  https://github.com/ruby/ruby/pull/988
5229
5230Tue Aug  4 12:12:14 2015  Eric Wong  <e@80x24.org>
5231
5232	* variable.c: wrap long lines
5233
5234Tue Aug  4 09:32:30 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
5235
5236	* proc.c: Removing duplicate doc [fix GH-987][ci skip]
5237	  Patch by @ronakjangir47
5238
5239Tue Aug  4 09:21:58 2015  Richard Schneeman  <richard.schneeman+foo@gmail.com>
5240
5241	* doc/contributing.rdoc: fixed wrong instructions with OS X
5242	  [fix GH-989][ci skip] Patch by @schneems
5243
5244Mon Aug  3 10:08:33 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5245
5246	* re.c (rb_memsearch): should match only char boundaries in wide
5247	  character encodings.  [ruby-core:70220] [Bug #11413]
5248
5249Sun Aug  2 07:01:17 2015  Eric Wong  <e@80x24.org>
5250
5251	* ext/openssl/lib/openssl/buffering.rb (gets):
5252	  avoid comparing fixnum with nil
5253	* test/openssl/test_pair.rb: test gets with limit when EOF is hit
5254	  Thanks to Bar Hofesh <bar.hofesh@safe-t.com> for the bug report
5255	  and testing.
5256	  [ruby-core:70149] [Bug #11400]
5257
5258Sat Aug  1 17:13:15 2015  Kazuki Tsujimoto  <kazuki@callcc.net>
5259
5260	* lib/net/http/response.rb (Net::HTTPResponse::Inflater#finish):
5261	  fix a bug that empty gzipped response body causes Zlib::BufError.
5262	  [ruby-core:68846] [Bug #11058]
5263
5264	* test/net/http/test_httpresponse.rb: tests for the above.
5265
5266Sat Aug  1 17:05:18 2015  Kazuki Tsujimoto  <kazuki@callcc.net>
5267
5268	* lib/net/http/response.rb (Net::HTTPResponse#inflater):
5269	  fix TypeError. An exception object might be nil.
5270	  [ruby-core:68846] [Bug #11058]
5271
5272Sat Aug  1 09:09:46 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5273
5274	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): Implement
5275	  SSLContext#options and options= using SSL_CTX_set_options and
5276	  SSL_CTX_get_options. This reduces the number of ivars we need and
5277	  simplifies `ossl_sslctx_setup`.
5278
5279	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Default `options`
5280	  to SSL_OP_ALL
5281
5282Sat Aug  1 06:54:36 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5283
5284	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): OpenSSL declares these
5285	  constants as longs, so we should follow that and use LONG2NUM.
5286	  http://git.io/vOqxD
5287
5288Sat Aug  1 04:06:29 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5289
5290	* ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): change callback
5291	  to return the Ruby dh (or ecdh) object that the caller cares about
5292	  instead of doing rb_iv_get / set to communicate.  This means we can
5293	  remove an rb_iv_get call, and only use the set calls for their
5294	  intended purpose (to prevent the object from being GC'd).
5295
5296	* ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto
5297	* ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): ditto
5298	* ext/openssl/ossl_ssl.c (ossl_tmp_ecdh_callback): ditto
5299
5300Sat Aug  1 03:49:31 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5301
5302	* ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): Similarly to the
5303	  tmp_ecdh_callback, the SSLSocket instance always holds a reference
5304	  to the SSLContext object (it's always set in `initialize`).  The
5305	  SSLContext holds a reference to the tmp_dh_callback.  Ask the
5306	  context for the callback instead of storing the callback in two
5307	  places.
5308
5309Sat Aug  1 03:43:10 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5310
5311	* ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): create an array
5312	  and use `rb_apply` to clean up calls to `rb_protect`.
5313
5314	* ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto
5315
5316Sat Aug  1 03:27:12 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5317
5318	* ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): The SSL socket
5319	  always holds a reference to the SSLContext object, which will have
5320	  the callback object.  Ask the context for the callback instead of
5321	  storing the callback in two places.
5322
5323Sat Aug  1 03:14:07 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5324
5325	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): convert
5326	  `tmp_dh_callback` to Ruby, and call it when setting up an SSL
5327	  connection.  This allows us to move the "default" behavior to the
5328	  reader method.
5329
5330	* ext/openssl/ossl_ssl.c: call the tmp_dh_callback instead of
5331	  accessing the SSLContext's internals.
5332
5333Fri Jul 31 23:34:27 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5334
5335	* .travis.yml: update libssl before running tests.
5336	  Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for figuring out the
5337	  travis settings!
5338
5339Fri Jul 31 21:34:49 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5340
5341	* load.c (rb_require_internal): use rb_load_internal0 not to raise
5342	  a exception to be caught.
5343
5344Thu Jul 30 13:19:54 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5345
5346	* variable.c (rb_const_get_0): warn deprecated constant reference.
5347
5348	* variable.c (rb_mod_deprecate_constant): mark constants to be
5349	  warned as deprecated.  [Feature #11398]
5350
5351Thu Jul 30 11:53:54 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5352
5353	* thread.c (rb_thread_s_handle_interrupt): make identity hash, to
5354	  compare masking classes just by their IDs.
5355
5356Thu Jul 30 11:52:55 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5357
5358	* load.c (rb_load_internal0): stop separating exits at loading
5359	  from exits from execution.  TAG_FATAL is the only case that
5360	  `errinfo` is a Fixnum, and should continue to exit by JUMP_TAG
5361	  but not raising as an ordinary exception.
5362	  [ruby-core:70169] [Bug #11404]
5363
5364Thu Jul 30 10:42:27 2015  Alex Dowad  <alexinbeijing@gmail.com>
5365
5366	* load.c (rb_load_internal0): extra check before returning
5367	  TAG_RAISE when a non-local transfer of control happens while
5368	  loading and parsing a Ruby source file.
5369	  [ruby-core:70169] [Bug #11404]
5370
5371Thu Jul 30 08:48:42 2015  Eric Wong  <e@80x24.org>
5372
5373	* st.c (find_entry): constify st_table*
5374	  (find_packed_index_from): ditto
5375	  (find_packed_index): ditto
5376	  (get_keys): ditto
5377	  (get_values): ditto
5378
5379Thu Jul 30 04:29:25 2015  Eric Wong  <e@80x24.org>
5380
5381	* benchmark/bm_hash_aref_dsym.rb: new benchmark
5382	* benchmark/bm_hash_aref_dsym_long.rb: ditto
5383	* benchmark/bm_hash_aref_fix.rb: ditto
5384
5385Wed Jul 29 21:38:41 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5386
5387	* hash.c (any_hash), symbol.c (dsymbol_alloc): fix dynamic symbol
5388	  hash value by restricting in Fixnum range, that is `long`.
5389
5390Wed Jul 29 17:25:46 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5391
5392	* hash.c (rb_obj_hash): move in order to share with rb_any_hash.
5393
5394Wed Jul 29 16:00:22 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5395
5396	* string.c (str_buf_cat): consider empty non-embed string case,
5397	  not to loop infinitely.  [ruby-core:70074] [Bug #11383]
5398
5399Wed Jul 29 15:25:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5400
5401	* vm_eval.c (send_internal): set method_missing_reason before
5402	  invoking overriding method_missing method so that the default
5403	  method_missing can achieve it properly.
5404	  [ruby-core:68515] [Bug #10969]
5405
5406Wed Jul 29 14:54:16 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5407
5408	* hash.c (rb_sym_hash): return same value as rb_any_hash() of
5409	  Symbol.  [Bug #9381]
5410
5411	* hash.c (rb_any_hash): fix Float hash.  rb_dbl_hash() returns a
5412	  Fixnum, but not a long.  [Bug #9381]
5413
5414Wed Jul 29 11:07:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5415
5416	* internal.h (LIKELY, UNLIKELY): make a boolean to enforce 1 or 0.
5417
5418Wed Jul 29 10:44:43 2015  Alex Dowad  <alexinbeijing@gmail.com>
5419
5420	* gc.c: document argument passed to finalizer proc.
5421	  [fix GH-976][ci skip] Patch by @alexdowad
5422
5423Wed Jul 29 10:36:58 2015  NARUSE, Yui  <naruse@ruby-lang.org>
5424
5425	* io.c (rb_io_extract_modeenc): add option parameter `flags'
5426	  to append extra oflags to normal mode.
5427	  [Feature #11253] [ruby-core:69539]
5428
5429Wed Jul 29 04:54:47 2015  Eric Wong  <e@80x24.org>
5430
5431	* test/rubygems/test_gem_remote_fetcher.rb: pre-generate test key
5432	  [ruby-core:70151] [Bug #11397]
5433
5434Tue Jul 28 10:32:09 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5435
5436	* internal.h (struct RClass): moved from ruby/ruby.h to hide the
5437	  internals.
5438
5439Tue Jul 28 08:48:29 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5440
5441	* configure.in (RUBY_TYPE_ATTRIBUTE): attribute declaration for
5442	  types.
5443
5444Tue Jul 28 07:23:03 2015  Eric Wong  <e@80x24.org>
5445
5446	* symbol.h (struct RSymbol): add hashval field
5447	* symbol.c (dsymbol_alloc): setup hashval field once
5448	* hash.c (rb_any_hash): return RSymbol->hashval directly
5449	* common.mk: hash.o depends on symbol.h
5450	  Thanks to Bruno Escherl <bruno@escherl.net> for the bug report
5451	  [ruby-core:70129] [Bug #11396]
5452
5453Tue Jul 28 03:26:15 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5454
5455	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): raise a more
5456	  helpful exception when verifying the peer connection and an
5457	  anonymous cipher has been selected. [ruby-core:68330] [Bug #10910]
5458	  Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for the patch.
5459
5460	* test/openssl/test_ssl.rb (class OpenSSL): test for change
5461
5462Mon Jul 27 13:24:11 2015  Koichi Sasada  <ko1@atdot.net>
5463
5464	* template/id.h.tmpl (ID2ATTRSET): remove an unused macro.
5465
5466Mon Jul 27 12:21:15 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
5467
5468	* test/openssl/test_ssl.rb: run tests on non-Unix platforms.
5469
5470Sun Jul 26 19:21:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5471
5472	* ext/openssl/ossl_ssl.c (ossl_ssl_alpn_protocol): fix condition
5473	  to compile, needs ALPN to be available.  [Feature #9390]
5474
5475Sun Jul 26 11:29:01 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5476
5477	* signal.c (default_handler, Init_signal): discard SIGSYS, ENOSYS
5478	  should raise a SystemCallError always instead.
5479
5480Sun Jul 26 10:26:35 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5481
5482	* ext/openssl/ossl_ssl.c (ossl_call_servername_cb): set the ssl context
5483	  object returned by the servername callback on to the socket as an
5484	  instance variable.  If the callback allocated a new context object
5485	  and didn't keep a reference to it, it could be GC'd out from under
5486	  the socket object.
5487
5488	* test/openssl/test_ssl.rb (class OpenSSL): test for change.
5489
5490Sun Jul 26 10:07:26 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5491
5492	* test/openssl/test_ssl.rb (class OpenSSL): add test coverage around
5493	  OpenSSL::SSL::SSLContext#servername_cb
5494
5495Sun Jul 26 09:10:32 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
5496
5497	* gems/bundled_gems: update latest version of bundled power_assert.
5498
5499Sun Jul 26 08:49:28 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
5500
5501	* test/rubygems/test_gem_remote_fetcher.rb: backport rubygems upstream
5502	  change for OpenSSL key length. see detail to
5503	  https://github.com/rubygems/rubygems/pull/1290
5504
5505Sun Jul 26 08:33:03 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5506
5507	* ext/openssl/lib/openssl/pkey.rb: implement DEFAULT_512 and
5508	  DEFAULT_1024 constants in Ruby.
5509
5510	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Ask PKey for the
5511	  default DH callback since it already must check whether openssl has
5512	  been compiled with DH support.
5513
5514	* ext/openssl/ossl_pkey_dh.c (OSSL_PKEY_BN): Remove C definitions of
5515	  DEFAULT_512 and DEFAULT_1024
5516
5517	* ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto
5518
5519	* test/openssl/test_pkey_dh.rb (class OpenSSL): add test to ensure the
5520	  Ruby definitions are the same as the C definitions were.
5521
5522Sun Jul 26 08:14:59 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5523
5524	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): support
5525	  specifically setting the tmp_dh_callback to nil.
5526
5527	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto
5528
5529	* test/openssl/test_pair.rb (module OpenSSL): add a test
5530
5531Sun Jul 26 07:47:14 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5532
5533	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move the default
5534	  tmp_dh_callback Ruby code and set it as a default in `initialize`.
5535
5536	* ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_512_GEN):
5537	  move this constant to Ruby.
5538
5539	* ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_1024_GEN):
5540	  ditto
5541
5542	* ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto
5543
5544	* ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto
5545
5546	* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): tmp_dh_callback should
5547	  always be set, so we can remove this conditional
5548
5549Sun Jul 26 06:22:24 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5550
5551	* test/openssl/test_pair.rb: add a test ensuring that the default DH
5552	  callback is used when no DH callback is specified.
5553
5554Sun Jul 26 04:08:27 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5555
5556	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add missing
5557	  instance variables to squash warnings with alpn.
5558
5559Sun Jul 26 03:42:19 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5560
5561	* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move
5562	  OpenSSL::SSL::SSLContext#initialize implementation to pure Ruby.
5563
5564	* ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): ditto
5565
5566	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto
5567
5568Sat Jul 25 21:03:45 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5569
5570	* random.c (fill_random_bytes_syscall): get rid of blocking when
5571	  no entropy is available.  based on the patch by mame in
5572	  [ruby-core:70114].  [Bug #11395]
5573
5574Sat Jul 25 11:05:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5575
5576	* string.c (str_replace_shared_without_enc): fill the terminator
5577	  of embedded strings in wide char encodings.
5578
5579Sat Jul 25 06:38:36 2015  Koichi Sasada  <ko1@atdot.net>
5580
5581	* vm_core.h: size should be unsigned.
5582	  * rb_call_info_t::index
5583	  * rb_iseq_constant_body::stack_max
5584	  * rb_iseq_constant_body::local_size
5585	  * rb_iseq_constant_body::param::size
5586	  * rb_iseq_constant_body::local_table_size
5587	  * rb_iseq_constant_body::is_size
5588	  * rb_iseq_constant_body::callinfo_size
5589
5590	* iseq.h: same for iseq_catch_table::size.
5591
5592	* compile.c: catch up these fix.
5593
5594	* iseq.c: ditto.
5595
5596	* proc.c: ditto.
5597
5598	* vm.c: ditto.
5599
5600	* vm_args.c: ditto.
5601
5602	* vm_eval.c: ditto.
5603
5604	* vm_insnhelper.c: ditto.
5605
5606Sat Jul 25 06:00:09 2015  Koichi Sasada  <ko1@atdot.net>
5607
5608	* vm_core.h: constify rb_iseq_constant_body::line_info_table.
5609
5610	* iseq.c: catch up this fix.
5611
5612Sat Jul 25 05:56:43 2015  Koichi Sasada  <ko1@atdot.net>
5613
5614	* vm_core.h: constify rb_iseq_constant_body::param::opt_table and
5615	  rb_iseq_constant_body::param::keyword.
5616
5617	* compile.c: catch up this fix.
5618
5619Sat Jul 25 04:47:01 2015  Koichi Sasada  <ko1@atdot.net>
5620
5621	* vm_core.h: constify rb_iseq_constant_body::catch_table.
5622
5623	* compile.c (iseq_set_exception_table): catch up this fix.
5624
5625	* iseq.c: ditto.
5626
5627	* vm.c (vm_exec): ditto.
5628
5629Fri Jul 24 21:29:54 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5630
5631	* st.c (EQUAL, st_delete_safe): fix arguments order to compare
5632	  function, searching key is the first and stored key is the
5633	  second always.
5634
5635Fri Jul 24 21:27:29 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5636
5637	* string.c (fstr_update_callback): fstring must not be a shared
5638	  string, or the content without RSTRING_FSTR may be freed.
5639	  [ruby-dev:49188] [Bug #11386]
5640
5641Fri Jul 24 20:09:43 2015  Naohisa Goto  <ngotogenome@gmail.com>
5642
5643	* test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): prevent to use
5644	  IPv6 loopback interface for
5645	  Rinda::TestRingFinger#test_make_socket_ipv6_multicast and
5646	  Rinda::TestRingFinger#test_make_socket_ipv6_multicast_hops.
5647	  The tests are skipped if there are no IPv6 devices other than the
5648	  loopback device. [Bug #11394] [ruby-dev:49199]
5649
5650	* test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast): ditto
5651	  for Rinda::TestRingServer#test_make_socket_ipv6_multicast.
5652
5653	* test/rinda/test_rinda.rb (test_ring_server_ipv6_multicast): ditto
5654	  for Rinda::TestRingServer#test_ring_server_ipv6_multicast.
5655
5656Fri Jul 24 16:35:55 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5657
5658	* string.c (fstr_update_callback): pool bare strings only.
5659
5660	* string.c (rb_fstring): return the original string with sharing a
5661	  fstring if it has extra attributes, not the fstring itself.
5662	  [ruby-dev:49188] [Bug #11386]
5663
5664Fri Jul 24 16:35:34 2015  yui-knk  <spiketeika@gmail.com>
5665
5666	* file.c (rb_file_s_extname): [DOC] add an example.
5667
5668	* test/ruby/test_path.rb (test_extname): add tests.  [Fix GH-978]
5669	  * path starts with dot ('.a.rb')
5670	  * path includes dir name ('a/b/d/test.rb')
5671	  * path includes dir name and dir name starts with dot
5672	    ('.a/b/d/test.rb')
5673
5674Thu Jul 23 18:50:43 2015  Koichi Sasada  <ko1@atdot.net>
5675
5676	* vm_core.h: constify rb_iseq_constant_body::local_table and
5677	  rb_iseq_param_keyword::table and
5678	  rb_iseq_param_keyword::default_values.
5679
5680	* compile.c: catch up this fix.
5681
5682	* iseq.c: ditto.
5683
5684Thu Jul 23 17:30:43 2015  Koichi Sasada  <ko1@atdot.net>
5685
5686	* vm_core.h: constify rb_iseq_constant_body::iseq_encoded and
5687	  rb_control_frame_t::pc.
5688
5689	* compile.c (rb_iseq_translate_threaded_code): catch up this fix.
5690
5691	* iseq.c: ditto.
5692
5693	* vm_exec.c (vm_exec_core): ditto.
5694
5695Thu Jul 23 10:25:46 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5696
5697	* include/ruby/ruby.h: add raw FL macros, which assume always the
5698	  argument object is not a special constant.
5699
5700	* internal.h (STR_EMBED_P, STR_SHARED_P): valid only for T_STRING.
5701
5702	* string.c: deal with taint flags directly across String instances.
5703
5704Thu Jul 23 09:05:28 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5705
5706	* parse.y (lambda_body): pop cmdarg stack for lookahead
5707	  token.  [ruby-core:70067] [Bug #11380]
5708
5709Thu Jul 23 04:03:03 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5710
5711	* ext/openssl/ossl_ssl.c: fix tests by not setting the instance
5712	  variable on the frozen ssl instance.
5713
5714Thu Jul 23 03:32:26 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5715
5716	* ext/openssl/ossl_ssl.c: add ECDH callback support. [Feature #11356]
5717
5718	* test/openssl/test_pair.rb: test for ECDH callback support
5719
5720Thu Jul 23 03:29:49 2015  Aaron Patterson <tenderlove@ruby-lang.org>
5721
5722	* ext/openssl/ossl_ssl.c: add ALPN support. [Feature #9390]
5723
5724	* ext/openssl/extconf.rb: detect ALPN support in OpenSSL
5725
5726	* test/openssl/test_ssl.rb: test for ALPN
5727
5728Wed Jul 22 23:44:17 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5729
5730	* string.c (rb_str_reverse): reversed string is not a substring,
5731	  and should not set coderange of the original string.
5732	  [ruby-dev:49189] [Bug #11387]
5733
5734Wed Jul 22 20:17:51 2015  Koichi Sasada  <ko1@atdot.net>
5735
5736	* vm_core.h: modify layout of rb_iseq_constant_body.
5737
5738	  Move frequent accessing fields to upper part.
5739
5740Wed Jul 22 19:57:47 2015  Koichi Sasada  <ko1@atdot.net>
5741
5742	* vm_core.h: remove unused declaration of
5743	  iseq_compile_data_ensure_node_stack.
5744
5745Wed Jul 22 19:52:45 2015  Koichi Sasada  <ko1@atdot.net>
5746
5747	* vm_core.h: separate rb_iseq_body into rb_iseq_constant_body and
5748	  rb_iseq_variable_body (rb_iseq_t::variable_body).
5749
5750	  rb_iseq_variable_body can be modified after compilation.
5751
5752	* compile.c: use rb_iseq_t::variable_body.
5753
5754	* iseq.c: ditto.
5755
5756	* thread.c: ditto.
5757
5758Wed Jul 22 17:50:35 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
5759
5760	* lib/matrix/eigenvalue_decomposition.rb: refine code style.
5761	  [fix GH-959][ci skip] Patch by @bogdanvlviv
5762
5763Wed Jul 22 15:48:47 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
5764
5765	* test/ruby/test_range.rb: Add test case for Range#end with
5766	  exclude_end true case. [fix GH-968] Patch by @yui-knk
5767
5768Wed Jul 22 09:45:31 2015  Maksim Sitnikov  <sitnikovme@undev.ru>
5769
5770	* numeric.c (num_coerce): [DOC] fix doc for Numeric#coerce,
5771	  missing '+'.  [Fix GH-974]
5772
5773Wed Jul 22 07:24:18 2015  Koichi Sasada  <ko1@atdot.net>
5774
5775	* make rb_iseq_t T_IMEMO object (type is imemo_iseq).
5776
5777	  All contents of previous rb_iseq_t is in rb_iseq_t::body.
5778	  Remove rb_iseq_t::self because rb_iseq_t is an object.
5779
5780	  RubyVM::InstructionSequence is wrapper object points T_IMEMO/iseq.
5781	  So RubyVM::ISeq.of(something) method returns different wrapper
5782	  objects but they point the same T_IMEMO/iseq object.
5783
5784	  This patch is big, but most of difference is replacement of
5785	  iseq->xxx to iseq->body->xxx.
5786
5787	  (previous) rb_iseq_t::compile_data is also located to
5788	  rb_iseq_t::compile_data.
5789	  It was moved from rb_iseq_body::compile_data.
5790
5791	  Now rb_iseq_t has empty two pointers.
5792	  I will split rb_iseq_body data into static data and dynamic data.
5793
5794	* compile.c: rename some functions/macros.
5795	  Now, we don't need to separate iseq and iseqval (only VALUE).
5796
5797	* eval.c (ruby_exec_internal): `n' is rb_iseq_t (T_IMEMO/iseq).
5798
5799	* ext/objspace/objspace.c (count_imemo_objects): count T_IMEMO/iseq.
5800
5801	* gc.c: check T_IMEMO/iseq.
5802
5803	* internal.h: add imemo_type::imemo_iseq.
5804
5805	* iseq.c: define RubyVM::InstructionSequence as T_OBJECT.
5806	  Methods are implemented by functions named iseqw_....
5807
5808	* load.c (rb_load_internal0): rb_iseq_new_top() returns
5809	  rb_iseq_t (T_IMEMO/iesq).
5810
5811	* method.h (rb_add_method_iseq): accept rb_iseq_t (T_IMEMO/iseq).
5812
5813	* vm_core.h (GetISeqPtr): removed because it is not T_DATA now.
5814
5815	* vm_core.h (struct rb_iseq_body): remove padding for
5816	  [Bug #10037][ruby-core:63721].
5817
5818Wed Jul 22 07:15:33 2015  Koichi Sasada  <ko1@atdot.net>
5819
5820	* ext/objspace/objspace.c (total_i): no need to skip singleton classes.
5821
5822Wed Jul 22 06:37:54 2015  Koichi Sasada  <ko1@atdot.net>
5823
5824	* vm_core.h: constify rb_call_info_t::kw_arg,
5825	  rb_control_frame_t::iseq and rb_control_frame_t::block_iseq.
5826
5827	* iseq.c (iseq_free): catch up this fix.
5828
5829	* vm.c: ditto.
5830
5831	* vm_dump.c: ditto.
5832
5833Wed Jul 22 06:25:45 2015  Koichi Sasada  <ko1@atdot.net>
5834
5835	* vm_core.h: constify rb_call_info_t::blockiseq and rb_block_t::iseq.
5836
5837	* vm.c, vm_insnhelper.c: catch up this fix.
5838
5839	* iseq.c (iseq_data_to_ary): constify the first iseq parameter.
5840
5841	* vm_insnhelper.c (vm_make_proc_with_iseq): ditto.
5842
5843Wed Jul 22 06:17:35 2015  Koichi Sasada  <ko1@atdot.net>
5844
5845	* method.h: constify rb_method_iseq_t::iseqptr.
5846
5847	* proc.c (rb_method_entry_min_max_arity): catch up this fix.
5848
5849	* vm_insnhelper.c (def_iseq_ptr): constify.
5850
5851Wed Jul 22 03:37:39 2015  Koichi Sasada  <ko1@atdot.net>
5852
5853	* gc.c (internal_object_p): Now a singleton classes appear by
5854	  ObjectSpace.each_object. [Bug #11360]
5855
5856	* test/ruby/test_objectspace.rb: add a test about it.
5857
5858Tue Jul 21 21:21:33 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5859
5860	* thread.c (do_select): replace switch and goto with a loop to
5861	  suppress maybe-uninitialized warnings by gcc6.
5862
5863	* thread.c (set_unblock_function, rb_wait_for_single_fd): ditto.
5864
5865Tue Jul 21 20:32:33 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
5866
5867	* test/ruby/test_range.rb: Add test for Range#hash
5868	  [fix GH-969] Patch by @yui-knk
5869
5870Tue Jul 21 19:43:20 2015  Koichi Sasada  <ko1@atdot.net>
5871
5872	* compile.c: constify the first parameter (iseq).
5873	  * iseq_add_mark_object()
5874	  * iseq_add_mark_object_compile_time()
5875
5876	* iseq.c, iseq.h (rb_iseq_add_mark_object): ditto.
5877
5878Tue Jul 21 16:18:48 2015  Eric Wong  <e@80x24.org>
5879
5880	* test/socket/test_nonblock.rb: increase buffer sizes
5881	  to OpenBSD limits. Thanks to Jeremy Evans <code@jeremyevans.net>
5882	  [ruby-core:70058]
5883
5884Tue Jul 21 16:08:53 2015  Eric Wong  <e@80x24.org>
5885
5886	* load.c (ruby_dln_librefs): make static
5887
5888Tue Jul 21 13:36:54 2015  yuuji.yaginuma  <yuuji.yaginuma@gmail.com>
5889
5890	* lib/optparse.rb (complete): [DOC] fix typo.  [Fix GH-973]
5891
5892Tue Jul 21 05:20:21 2015  Eric Wong  <e@80x24.org>
5893
5894	* io.c (nogvl_wait_for_single_fd): new function for Linux
5895	  (maygvl_copy_stream_wait_read): Linux-specific version
5896	  (nogvl_copy_stream_wait_write): use nogvl_wait_for_single_fd
5897	  [ruby-core:70051] [Feature #11377]
5898
5899Mon Jul 20 15:04:30 2015  Eric Wong  <e@80x24.org>
5900
5901	* parse.y (parser_initialize): avoid redundant zero-ing
5902
5903Mon Jul 20 12:12:05 2015  Eric Wong  <e@80x24.org>
5904
5905	* parse.y (struct parser_params): pack: 88 => 256 bytes on 64-bit
5906	  [ruby-core:70034] [Feature #11371]
5907
5908Sun Jul 19 14:29:18 2015  windwiny  <windwiny.ubt@gmail.com>
5909
5910	* ext/pty/pty.c: [DOC] fix example typo, an old name at move from
5911	  PTY.open.  [Fix GH-972]
5912
5913Sat Jul 18 21:29:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5914
5915	* thread.c (vm_check_ints_blocking): gather common statements at
5916	  the end, and prefer LIKELY for Visual C optimization.
5917
5918Sat Jul 18 20:44:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5919
5920	* load.c (rb_load_internal0): do not raise any exceptions but
5921	  return the result tag state.
5922
5923	* load.c (rb_load_protect): reduce nested EXEC_TAGs.
5924
5925Sat Jul 18 19:52:17 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5926
5927	* gc.c (run_finalizer): set and restore safe level here to reduce
5928	  nested EXEC_TAGs.
5929
5930Sat Jul 18 18:45:22 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5931
5932	* eval.c (ruby_cleanup): error_handle() returns exit status to the
5933	  system, not internal error state, do not convert the exit status
5934	  again.
5935
5936Sat Jul 18 10:29:03 2015  Eric Wong  <e@80x24.org>
5937
5938	* test/ruby/test_process.rb: test thread+sigs work after failed exec
5939
5940Sat Jul 18 07:20:18 2015  Jeremy Evans  <code@jeremyevans.net>
5941
5942	* test/socket/test_nonblock: use smaller buffer for sendmsg
5943	  [ruby-core:70016] [Bug #11364]
5944
5945Sat Jul 18 07:04:24 2015  Eric Wong  <e@80x24.org>
5946
5947	* signal.c (trap_handler): cleanup to use RSTRING_GETMEM + memcmp
5948
5949Sat Jul 18 02:53:06 2015  Eric Wong  <e@80x24.org>
5950
5951	* io.c (argf_read_nonblock): support `exception: false'
5952	  (io_nonblock_eof): new function
5953	  (io_read_nonblock): use io_nonblock_eof
5954	  (argf_getpartial): accept kwargs hash for `exception: false'
5955	* test/ruby/test_argf.rb (test_read_nonblock): new test
5956	* NEWS: add item for ARGF.read_nonblock
5957	  [ruby-core:70000] [Feature #11358]
5958
5959Fri Jul 17 23:51:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5960
5961	* vm_eval.c (rb_eval_cmd): $SAFE=4 has been deprecated.
5962
5963Fri Jul 17 22:18:09 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5964
5965	* compile.c (iseq_compile_each): use enum ruby_tag_type names.
5966
5967	* vm_core.h (ruby_tag_type): move from eval_intern.h for compiling
5968	  break/next/redo/return.
5969
5970Fri Jul 17 15:39:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
5971
5972	* include/ruby/encoding.h (ENC_CODERANGE_CLEAN_P): predicate that
5973	  tells if the coderange is clean, that is 7bit or valid, and no
5974	  needs to scrub.
5975
5976	* re.c (rb_reg_expr_str): use ENC_CODERANGE_CLEAN_P.
5977
5978	* string.c (enc_strlen, rb_enc_cr_str_buf_cat, rb_str_scrub):
5979	  ditto.
5980
5981	* string.c (rb_str_enumerate_chars): ditto, and suppress a warning
5982	  by gcc6.
5983
5984Fri Jul 17 15:36:52 2015  yui-knk  <spiketeika@gmail.com>
5985
5986	* test/ruby/test_range.rb (test_first_last): Add test for
5987	  `Range.new`.  [Fix GH-971]
5988
5989Fri Jul 17 15:36:40 2015  yui-knk  <spiketeika@gmail.com>
5990
5991	* test/ruby/test_range.rb (test_first_last): Add assertions to
5992	  test of `Range#last` with exclude_end true case.  [Fix GH-970]
5993
5994Fri Jul 17 09:59:14 2015  Eric Wong  <e@80x24.org>
5995
5996	* thread.c (rb_thread_alone): simplify
5997
5998Fri Jul 17 09:58:32 2015  Eric Wong  <e@80x24.org>
5999
6000	* lib/rinda/tuplespace.rb: remove enumerator require
6001	* test/pathname/test_pathname.rb: ditto
6002
6003Fri Jul 17 05:33:58 2015  Eric Wong  <e@80x24.org>
6004
6005	* iseq.c (rb_iseq_compile_with_option): reuse result of previous
6006	  GET_THREAD() call
6007	* thread.c (thread_create_core): ditto
6008	  (rb_mutex_trylock): ditto
6009	  (rb_mutex_lock): ditto
6010	* process.c (rb_waitpid): avoid multiple eval from RUBY_VM_CHECK_INTS
6011	* thread.c (rb_thread_check_ints): ditto
6012
6013Thu Jul 16 19:12:30 2015  Eric Wong  <e@80x24.org>
6014
6015	* thread.c (mutex_alloc): remove needless volatile
6016
6017Thu Jul 16 22:05:29 2015  Koichi Sasada  <ko1@atdot.net>
6018
6019	* vm_core.h: constify rb_iseq_t::parent_iseq.
6020
6021	  rb_iseq_t::local_iseq is not constant data because
6022	  local_iseq::flip_cnt can be modified (commented).
6023
6024	* compile.c: catch up this fix.
6025
6026	* iseq.c: ditto.
6027
6028	* vm_insnhelper.c: ditto.
6029
6030Thu Jul 16 21:47:47 2015  Naohisa Goto  <ngotogenome@gmail.com>
6031
6032	* process.c (redirect_dup2): when the new FD of dup2() conflicts
6033	  with one of the timer thread FDs, the internal FD is diverted.
6034	  [Bug #11336] [ruby-core:69886] [Bug #11350] [ruby-core:69961]
6035
6036	* process.c (dup2_with_divert): new function for the above purpose.
6037
6038	* thread_pthread.c (rb_divert_reserved_fd): new function for
6039	  diverting reserved FD. If the given FD is the same as one of the
6040	  reserved FDs, the reserved FD number is internally changed.
6041	  It returns -1 when error. Otherwise, returns 0. It also returns
6042	  0 if there is no need to change reserved FD number.
6043
6044	* thread_win32.c (rb_divert_reserved_fd): always returns 0 because
6045	  of no reserved FDs.
6046
6047	* internal.h (rb_divert_reserved_fd): prototype declaration.
6048	  It is Ruby internal use only.
6049
6050Thu Jul 16 21:47:46 2015  Koichi Sasada  <ko1@atdot.net>
6051
6052	* iseq.c (rb_iseq_disasm): rename rb_iseq_t *iseqdat to iseq
6053	  and VALUE *iseq to code.
6054
6055	* iseq.c (rb_iseq_disasm_insn): ditto.
6056
6057Thu Jul 16 14:34:24 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6058
6059	* vm.c (REWIND_CFP): keep the arguments region inside the valid
6060	  value stack.  [ruby-core:69969] [Bug #11352]
6061
6062Thu Jul 16 11:38:21 2015  Eric Wong  <e@80x24.org>
6063
6064	* process.c (close_unless_reserved): declare type of `fd' arg
6065
6066Thu Jul 16 08:47:29 2015  Eric Wong  <e@80x24.org>
6067
6068	* load.c (rb_construct_expanded_load_path): fstring expanded path
6069	  (get_loaded_features_index): fstring feature path
6070	  (rb_provide_feature): ditto
6071	  [ruby-core:69871] [Feature #11331]
6072
6073Thu Jul 16 02:56:14 2015  Eric Wong  <e@80x24.org>
6074
6075	* thread.c (thread_initialize): avoid RSTRING_PTR and NUMT2INT
6076
6077Thu Jul 16 01:00:46 2015  Naohisa Goto  <ngotogenome@gmail.com>
6078
6079	* test/ruby/test_process.rb (test_exec_close_reserved_fd): test for
6080	  [Bug #11353]
6081
6082Thu Jul 16 00:35:42 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
6083
6084	* .gitignore: ignore version.i.
6085
6086Wed Jul 15 23:40:32 2015  Naohisa Goto  <ngotogenome@gmail.com>
6087
6088	* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
6089	  use RUBY (= EnvUtil.rubybin)
6090
6091Wed Jul 15 23:01:22 2015  Naohisa Goto  <ngotogenome@gmail.com>
6092
6093	* process.c (redirect_close, parent_redirect_close): should not close
6094	  reserved FD. It should be closed in the exec system call due to the
6095	  O_CLOEXEC or FD_CLOEXEC flag. [Bug #11353] [ruby-core:69977]
6096
6097	* process.c (close_unless_reserved): new function to close FD unless
6098	  it is reserved for internal communication.
6099
6100	* thread_pthread.c (rb_reserved_fd_p): should check owner_process pid
6101	  to avoid false positive in forked child process.
6102
6103Wed Jul 15 18:31:18 2015  Eric Wong  <e@80x24.org>
6104
6105	* proc.c (proc_mark): remove redundant check
6106	* vm.c (env_mark): ditto
6107
6108Wed Jul 15 17:27:40 2015  Eric Wong  <e@80x24.org>
6109
6110	* iseq.c (iseq_mark): remove check for data pointer
6111	* proc.c (binding_mark): ditto
6112	* vm.c (rb_thread_mark): ditto
6113	* vm_trace.c (tp_mark): ditto
6114
6115Wed Jul 15 16:55:04 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6116
6117	* encoding.c (enc_autoload): drop dummy encoding flag from
6118	  the loaded encoding index.  this flag is used only in this
6119	  source.
6120
6121Wed Jul 15 14:39:29 2015  Koichi Sasada  <ko1@atdot.net>
6122
6123	* vm.c (vm_make_env_each): add comments about env layout.
6124	  Do not use `i' to specify `new_ep'.
6125
6126	* vm.c (rb_proc_create, rb_vm_make_proc_lambda): envval is not used.
6127
6128Wed Jul 15 08:59:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6129
6130	* gc.h (RUBY_MARK_UNLESS_NULL): evaluate the argument only once
6131	  to get rid of inadvertent side effects.
6132
6133Wed Jul 15 02:53:11 2015  Koichi Sasada  <ko1@atdot.net>
6134
6135	* vm_core.h, vm.c: remove rb_proc_t::envval because we can know it via
6136	  rb_proc_t::block::ep.
6137
6138	  rb_vm_proc_envval(const rb_proc_t *proc) returns an Env object which
6139	  the Proc object use.
6140
6141	* proc.c: catch up this fix.
6142
6143	* vm_dump.c (rb_vmdebug_proc_dump_raw): ditto.
6144
6145Wed Jul 15 02:27:22 2015  Koichi Sasada  <ko1@atdot.net>
6146
6147	* vm_core.h, vm.c: remove rb_env_t::prev_envval because we can know it
6148	  via env->ep.
6149
6150	  rb_vm_env_prev_envval(env) returns prev_envval via env->ep.
6151
6152	* vm_core.h (rb_vm_env_local_variables): change parameter type
6153	  from VALUE (T_DATA/env) to `const rb_env_t *' to make same as
6154	  rb_vm_env_prev_envval().
6155
6156	* proc.c: catch up these changes.
6157
6158	* vm_dump.c: ditto.
6159
6160	* vm.c: rename macros.
6161
6162	  * ENV_IN_HEAP_P() to VM_EP_IN_HEAP_P() because it uses ep.
6163	  * ENV_VAL() to VM_ENV_EP_ENVVAL() because it is too short.
6164
6165Wed Jul 15 01:09:09 2015  Koichi Sasada  <ko1@atdot.net>
6166
6167	* vm.c: refactoring Proc/Env related code.
6168
6169	* vm_core.h: remove blockprocval field from rb_proc_t and rb_binding_t.
6170	  Instead of this field, mark given block in Proc at rb_env_t::env.
6171
6172	* vm.c (vm_make_env_each): make an Env object with this layout.
6173	  And also simplify parameters.
6174
6175	* proc.c: catch up this fix.
6176
6177	* vm_core.h: remove rb_env_t::local_size because it is not used.
6178
6179	* vm_dump.c (rb_vmdebug_env_dump_raw): catch up this fix.
6180
6181	* vm_core.h (rb_vm_make_env_object): remove rb_vm_make_env_object()
6182	  because it is only referred from vm.c.
6183
6184	* vm_eval.c (eval_string_with_cref): catch up this fix.
6185
6186Wed Jul 15 00:03:36 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
6187
6188	* gc.c (__has_feature): move into internal.h.
6189
6190	* internal.h (__has_feature): ditto.
6191
6192	* internal.h (__has_extension): new macro.
6193
6194	* internal.h (STATIC_ASSERT): use _Static_assert with
6195	  clang. [ruby-core:69931] [Bug #11343]
6196
6197Wed Jul 15 00:00:00 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
6198
6199	* random.c (fill_random_bytes_syscall): fix compile error with
6200	  clang. [ruby-core:69931] [Bug #11343]
6201
6202Tue Jul 14 11:22:42 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6203
6204	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#register):
6205	  notify the handler thread of new timeout registration.
6206
6207	* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):
6208	  make sleep intervals adaptive than fixed period intervals.
6209
6210	* lib/webrick/server.rb (WEBrick::GenericServer#start): flush
6211	  shutdown pipe.
6212
6213	* lib/webrick/server.rb (WEBrick::GenericServer#stop): request the
6214	  server to stop immediately by sending data via shutdown pipe.
6215
6216Mon Jul 13 23:58:08 2015  Stefano Tortarolo  <stefano.tortarolo@gmail.com>
6217
6218	* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#do_CONNECT):
6219	  fix typos in debugger statements.  [Fix GH-967]
6220
6221Mon Jul 13 19:11:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6222
6223	* lib/timeout.rb (timeout): warn as deprecated for a long time.
6224
6225Mon Jul 13 01:37:27 2015  Zachary Scott  <zzak@ruby-lang.org>
6226
6227	* ext/openssl/ossl.c: [DOC] Backport ruby/openssl@dbb3fdb [Bug #11345]
6228	  Thanks to Tomoya Chiba for the report and help with patch.
6229
6230Sun Jul 12 09:20:02 2015  Shota Fukumori  <her@sorah.jp>
6231
6232	* ext/socket/basicsocket.c: [DOC] typo (Errno::AGAIN -> Errno::EAGAIN)
6233
6234	* ext/socket/socket.c: ditto
6235
6236	* ext/socket/tcpserver.c: ditto
6237
6238	* ext/socket/udpsocket.c: ditto
6239
6240	* ext/socket/unixserver.c: ditto
6241
6242	* io.c: ditto
6243
6244Sun Jul 12 06:42:23 2015  ksss  <co000ri@gmail.com>
6245
6246	* test/stringio/test_stringio.rb (test_sysread): add a test for
6247	  StringIO#sysread.  [Fix GH-966]
6248
6249Sat Jul 11 21:16:34 2015  ksss  <co000ri@gmail.com>
6250
6251	* ext/stringio/stringio.c (Init_stringio): [DOC] Fix an example,
6252	  StringIO#puts should be set "\n" at last.  [Fix GH-965]
6253
6254Sat Jul 11 12:45:51 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6255
6256	* lib/timeout.rb (Timeout#timeout): remove regexp with wrong line
6257	  number and fix caller depth.
6258
6259Fri Jul 10 22:05:50 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6260
6261	* lib/timeout.rb (ExitException): removed internal exception class
6262	  and use Timeout::Error instead, as using throw/catch to isolate
6263	  each timeouts now.  [ruby-dev:49179] [Bug #11344]
6264
6265Fri Jul 10 17:41:54 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6266
6267	* dir.c (is_case_sensitive): get attributes by the file descriptor
6268	  of open directory, instead of using mount point name.
6269
6270Fri Jul 10 10:46:02 2015  ksss  <co000ri@gmail.com>
6271
6272	* ext/stringio/stringio.c (writable): remove unnecessary check for
6273	  deprecated safe level 4.  [Fix GH-963]
6274
6275Thu Jul  9 15:07:12 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
6276
6277	* win32/win32.c (waitpid): return immediately if interrupted.
6278	  reported by <takkanm AT gmail.com> [ruby-dev:49176] [Bug #11340]
6279
6280Thu Jul  9 13:03:46 2015  Koichi Sasada  <ko1@atdot.net>
6281
6282	* vm_insnhelper.c (vm_search_super_method): use CI_SET_FASTPATH().
6283
6284Thu Jul  9 11:07:06 2015  Koichi Sasada  <ko1@atdot.net>
6285
6286	* vm_core.h: remove rb_call_info_t::klass because
6287	  rb_callable_method_entry_t has information about defined class.
6288
6289	* vm_insnhelper.c (vm_search_method): don't set ci->klass because
6290	  it is removed.
6291
6292	* vm_insnhelper.c (rb_equal_opt): ditto.
6293
6294	* vm_insnhelper.c (vm_search_superclass): removed because it is too
6295	  simple to write code directly.
6296
6297	* vm_insnhelper.c (vm_defined): don't use vm_search_superclass().
6298	  This fix avoid searching current callable `me' twice.
6299
6300	* vm_insnhelper.c (vm_search_super_method): ditto.
6301
6302Thu Jul  9 10:03:10 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6303
6304	* lib/net/http/responses.rb: Added 308 status to CODE_TO_OBJ list.
6305	  [fix GH-961] Patch by @billinghamj
6306
6307Thu Jul  9 09:34:14 2015  Koichi Sasada  <ko1@atdot.net>
6308
6309	* vm_core.h (rb_control_frame_t): fix comments (layout index).
6310
6311Thu Jul  9 09:25:50 2015  Zachary Scott  <e@zzak.io>
6312
6313	* parse.y: Improve duplicate key warning with patch by @andremedeiros
6314	  [Fix GH-938] https://github.com/ruby/ruby/pull/938 [Bug #11327]
6315
6316Wed Jul  8 07:43:01 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6317
6318	* lib/csv.rb: typo fix [ci skip][fix GH-958] Patch by @henrik
6319
6320Wed Jul  8 04:42:27 2015  Eric Wong  <e@80x24.org>
6321
6322	* iseq.c (iseq_data_to_ary): dump kw_arg as symbol
6323	* test/-ext-/iseq_load/test_iseq_load.rb: test kw_arg roundtrip
6324	  [ruby-core:69891] [Bug #11338]
6325
6326Tue Jul  7 18:18:41 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
6327
6328	* random.c (fill_random_bytes_syscall): fix compile error.
6329
6330Tue Jul  7 16:47:30 2015  Eric Wong  <e@80x24.org>
6331
6332	* compile.c (COMPILE_ERROR): reduce GET_THREAD() calls
6333
6334Tue Jul  7 16:39:04 2015  Eric Wong  <e@80x24.org>
6335
6336	* random.c (fill_random_bytes_syscall): return -1 for error
6337	* random.c (fill_random_bytes): try urandom on syscall failure
6338
6339Tue Jul  7 15:02:18 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6340
6341	* file.c (rb_str_normalize_ospath): skip invalid byte sequence not
6342	  to loop infinitely.  this case usually does not happen as the
6343	  input name should come from real file systems.
6344
6345Tue Jul  7 14:40:08 2015  Koichi Sasada  <ko1@atdot.net>
6346
6347	* vm_backtrace.c: remove debug flag introduced accidentally.
6348
6349Tue Jul  7 12:05:37 2015  Koichi Sasada  <ko1@atdot.net>
6350
6351	* cont.c (cont_free): remove mysterious fflush()
6352	  introduced at r19890, maybe accidentally.
6353
6354Tue Jul  7 11:45:14 2015  Koichi Sasada  <ko1@atdot.net>
6355
6356	* proc.c (rb_method_call): because data->me should be non-NULL,
6357	  do not check data->me
6358
6359	* proc.c (method_inspect): ditto.
6360
6361Tue Jul  7 11:37:25 2015  Koichi Sasada  <ko1@atdot.net>
6362
6363	* vm_core.h: remove rb_iseq_t::orig because rb_iseq_clone()
6364	  no longer exists.
6365
6366	* iseq.c: don't use rb_iseq_t::orig.
6367
6368Tue Jul 07 11:25:57 2015  Koichi Sasada  <ko1@atdot.net>
6369
6370	* iseq.c, internal.h (rb_iseq_clone): removed because we don't need to
6371	  clone iseq any more.
6372
6373	* class.c (clone_method): share iseq between cloned methods. All of
6374	  method dependent information are able to refer from method entry.
6375
6376Tue Jul  7 04:42:25 2015  Eric Wong  <e@80x24.org>
6377
6378	* string.c (Init_String): use rb_str_freeze for String#freeze
6379	  to resize internal buffer
6380	  [ruby-core:69870] [Feature #11330]
6381
6382Tue Jul  7 04:12:32 2015  Koichi Sasada  <ko1@atdot.net>
6383
6384	* vm.c (vm_define_method): remove an unused local variable.
6385
6386Tue Jul  7 03:57:28 2015  Koichi Sasada  <ko1@atdot.net>
6387
6388	* vm_core.h: remove rb_iseq_t::defined_method_id because it is not
6389	  needed.
6390
6391	* eval.c (frame_func_id): simplify. rb_callable_method_entry_t
6392	  has enough information.
6393
6394	* eval.c (frame_called_id): ditto.
6395
6396	* iseq.c (prepare_iseq_build): catch up this fix.
6397
6398	* proc.c (rb_mod_define_method): ditto.
6399
6400	* vm.c (vm_define_method): ditto.
6401
6402Tue Jul  7 03:47:26 2015  Koichi Sasada  <ko1@atdot.net>
6403
6404	* vm_core.h: remove a useless declaration.
6405
6406Tue Jul  7 03:33:20 2015  Koichi Sasada  <ko1@atdot.net>
6407
6408	* vm_core.h: remove rb_iseq_t::klass to reduce dynamic data.
6409
6410	* internal.h, iseq.c (rb_iseq_klass): remove it because
6411	  rb_iseq_t::klass is removed.
6412
6413	* vm_insnhelper.c (vm_super_outside): do not see cfp->iseq, but
6414	  check callable method entry on a frame.
6415	  This fix simplify the logic to search super class.
6416
6417	* test/ruby/test_method.rb: support super() from Proc.
6418	  Now, [Bug #4881] and [Bug #3136] was solved.
6419
6420	* proc.c (rb_mod_define_method): catch up this change.
6421
6422	* vm.c (vm_define_method): ditto.
6423
6424	* vm_backtrace.c (rb_profile_frames): now, each `frame' objects
6425	  are rb_callable_method_entry_t data or iseq VALUEs.
6426
6427	  This fix introduce minor compatibility issue that
6428	  rb_profile_frame_label() always returns
6429	  rb_profile_frame_base_label().
6430
6431	* test/-ext-/debug/test_profile_frames.rb: catch up this change.
6432
6433Tue Jul  7 01:52:14 2015  Koichi Sasada  <ko1@atdot.net>
6434
6435	* cont.c (fiber_init): initialize control frame correctly.
6436	  This fix does not affect any ordinal execution, but
6437	  affects debug prints.
6438
6439Mon Jul  6 17:59:05 2015  Koichi Sasada  <ko1@atdot.net>
6440
6441	* vm_insnhelper.c (vm_search_super_method): do not skip calling
6442	  same methods in super.
6443	  [Bug #3351]
6444
6445	* test/ruby/test_super.rb: fix a test.
6446
6447Mon Jul  6 17:59:11 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6448
6449	* ext/tk/tcltklib.c: removed deprecated safe level.
6450
6451Mon Jul  6 17:16:37 2015  Koichi Sasada  <ko1@atdot.net>
6452
6453	* method.h, proc.c (rb_method_entry_location): make it static
6454	  and remove prefix `rb_' because it is used only in proc.c.
6455
6456Mon Jul  6 16:42:10 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6457
6458	* test/lib/memory_status.rb: removed redundant path.
6459
6460Mon Jul  6 01:18:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6461
6462	* test/lib/test/unit/parallel.rb: make @@project_dir one level
6463	  upper as this file had moved one level deeper.
6464
6465Sun Jul  5 23:54:10 2015  mizokami  <suzunatsu@yahoo.com>
6466
6467	* lib/optparse.rb: [DOC] Fix typo.
6468
6469Sun Jul  5 18:25:37 2015  Eric Wong  <e@80x24.org>
6470
6471	* gc.c (gc_profile_record_get): fix spelling error in keys
6472
6473Sun Jul  5 14:49:01 2015  CHIKANAGA Tomoyuki  <nagachika@ruby-lang.org>
6474
6475	* README.md: fix a typo pointed out by raoulvdberge.
6476	  https://github.com/ruby/ruby/pull/953#commitcomment-11998186
6477
6478Sun Jul  5 12:56:20 2015  Irvi Firqotul Aini  <viarc7@gmail.com>
6479
6480	* README.md: Added link HowToReport bugs.
6481
6482Sun Jul  5 10:51:48 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6483
6484	* array.c (rb_ary_sort_bang): the original array may not be
6485	  embedded even if a substitution array is embedded, as it is
6486	  embedded when the original array is short enough but not
6487	  embedded.  [ruby-dev:49166] [Bug #11332]
6488
6489Sun Jul  5 09:31:40 2015  Eric Wong  <e@80x24.org>
6490
6491	* test/ruby/test_process.rb: test for fd=3 usability in child
6492
6493Sat Jul  4 19:43:31 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6494
6495	* Add test case for empty array and first method with args.
6496	  Patch by @yui-knk [fix GH-955]
6497
6498Sat Jul  4 19:39:08 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6499
6500	* Add test for `Enumerable#sort` with block. Patch by @yui-knk
6501	  [fix GH-954]
6502
6503Sat Jul  4 14:38:43 2015  Eric Wong  <e@80x24.org>
6504
6505	* enum.c (zip_ary): remove volatile, use RB_GC_GUARD
6506	  (zip_i): ditto
6507
6508Sat Jul  4 10:42:57 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6509
6510	* lib/rubygems/test_case.rb (teardown): do not delete features
6511	  loaded from the original load paths, the same libraries should
6512	  be loaded again when the same features are required.
6513	  [ruby-dev:49031] [Bug #11222]
6514
6515Sat Jul  4 09:38:52 2015  Eric Wong  <e@80x24.org>
6516
6517	* vm.c (rb_vm_mark): reduce branches for always-set VM fields
6518	  (rb_vm_add_root_module): ditto
6519
6520Fri Jul 03 20:05:10 2015  Koichi Sasada  <ko1@atdot.net>
6521
6522	* method.h: introduce rb_callable_method_entry_t to remove
6523	  rb_control_frame_t::klass.
6524	  [Bug #11278], [Bug #11279]
6525
6526	  rb_method_entry_t data belong to modules/classes.
6527	  rb_method_entry_t::owner points defined module or class.
6528
6529	    module M
6530	      def foo; end
6531	    end
6532
6533	  In this case, owner is M.
6534
6535	  rb_callable_method_entry_t data belong to only classes.
6536	  For modules, MRI creates corresponding T_ICLASS internally.
6537	  rb_callable_method_entry_t can also belong to T_ICLASS.
6538
6539	  rb_callable_method_entry_t::defined_class points T_CLASS or
6540	  T_ICLASS.
6541	  rb_method_entry_t data for classes (not for modules) are also
6542	  rb_callable_method_entry_t data because it is completely same data.
6543	  In this case, rb_method_entry_t::owner == rb_method_entry_t::defined_class.
6544
6545	  For example, there are classes C and D, and includes M,
6546
6547	    class C; include M; end
6548	    class D; include M; end
6549
6550	  then, two T_ICLASS objects for C's super class and D's super class
6551	  will be created.
6552
6553	  When C.new.foo is called, then M#foo is searched and
6554	  rb_callable_method_t data is used by VM to invoke M#foo.
6555
6556	  rb_method_entry_t data is only one for M#foo.
6557	  However, rb_callable_method_entry_t data are two (and can be more).
6558	  It is proportional to the number of including (and prepending)
6559	  classes (the number of T_ICLASS which point to the module).
6560
6561	  Now, created rb_callable_method_entry_t are collected when
6562	  the original module M was modified. We can think it is a cache.
6563
6564	  We need to select what kind of method entry data is needed.
6565	  To operate definition, then you need to use rb_method_entry_t.
6566
6567	  You can access them by the following functions.
6568
6569	  * rb_method_entry(VALUE klass, ID id);
6570	  * rb_method_entry_with_refinements(VALUE klass, ID id);
6571	  * rb_method_entry_without_refinements(VALUE klass, ID id);
6572	  * rb_resolve_refined_method(VALUE refinements, const rb_method_entry_t *me);
6573
6574	  To invoke methods, then you need to use rb_callable_method_entry_t
6575	  which you can get by the following APIs corresponding to the
6576	  above listed functions.
6577
6578	  * rb_callable_method_entry(VALUE klass, ID id);
6579	  * rb_callable_method_entry_with_refinements(VALUE klass, ID id);
6580	  * rb_callable_method_entry_without_refinements(VALUE klass, ID id);
6581	  * rb_resolve_refined_method_callable(VALUE refinements, const rb_callable_method_entry_t *me);
6582
6583	  VM pushes rb_callable_method_entry_t, so that rb_vm_frame_method_entry()
6584	  returns rb_callable_method_entry_t.
6585	  You can check a super class of current method by
6586	  rb_callable_method_entry_t::defined_class.
6587
6588	* method.h: renamed from rb_method_entry_t::klass to
6589	  rb_method_entry_t::owner.
6590
6591	* internal.h: add rb_classext_struct::callable_m_tbl to cache
6592	  rb_callable_method_entry_t data.
6593
6594	  We need to consider about this field again because it is only
6595	  active for T_ICLASS.
6596
6597	* class.c (method_entry_i): ditto.
6598
6599	* class.c (rb_define_attr): rb_method_entry() does not takes
6600	  defined_class_ptr.
6601
6602	* gc.c (mark_method_entry): mark RCLASS_CALLABLE_M_TBL() for T_ICLASS.
6603
6604	* cont.c (fiber_init): rb_control_frame_t::klass is removed.
6605
6606	* proc.c: fix `struct METHOD' data structure because
6607	  rb_callable_method_t has all information.
6608
6609	* vm_core.h: remove several fields.
6610	  * rb_control_frame_t::klass.
6611	  * rb_block_t::klass.
6612
6613	  And catch up changes.
6614
6615	* eval.c: catch up changes.
6616
6617	* gc.c: ditto.
6618
6619	* insns.def: ditto.
6620
6621	* vm.c: ditto.
6622
6623	* vm_args.c: ditto.
6624
6625	* vm_backtrace.c: ditto.
6626
6627	* vm_dump.c: ditto.
6628
6629	* vm_eval.c: ditto.
6630
6631	* vm_insnhelper.c: ditto.
6632
6633	* vm_method.c: ditto.
6634
6635Fri Jul  3 14:30:18 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6636
6637	* win32/file.c: some mingw compilers need a tweek for the
6638	  declarations of _wfreopen_s.  [Bug #11320]
6639
6640Fri Jul  3 12:25:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6641
6642	* transcode.c (rb_econv_set_replacement): target encoding name can
6643	  be empty now.  [ruby-core:69841] [Bug #11324]
6644
6645Fri Jul  3 07:21:06 2015  Eric Wong  <e@80x24.org>
6646
6647	* benchmark/bm_io_nonblock_noex.rb: new benchmark
6648	* ext/openssl/ossl_ssl.c (no_exception_p): new function
6649	  (ossl_start_ssl): adjust for no_exception_p
6650	  (ossl_ssl_connect): adjust ossl_start_ssl call
6651	  (ossl_ssl_connect_nonblock): ditto
6652	  (ossl_ssl_accept): ditto
6653	  (ossl_ssl_accept_nonblock): ditto
6654	  (ossl_ssl_read_internal): adjust for no_exception_p
6655	  (ossl_ssl_write_internal): ditto
6656	  (ossl_ssl_write): adjust ossl_write_internal call
6657	  (ossl_ssl_write_nonblock): ditto
6658	* ext/stringio/stringio.c (strio_read_nonblock):
6659	  delay exception check
6660	* io.c (no_exception_p): new function
6661	  (io_getpartial): call no_exception_p
6662	  (io_readpartial): adjust for io_getpartial
6663	  (get_kwargs_exception): remove
6664	  (io_read_nonblock): adjust for io_getpartial,
6665	  check no_exception_p on EOF
6666	  (io_write_nonblock): call no_exception_p
6667	  (rb_io_write_nonblock): do not check `exception: false'
6668	  (argf_getpartial): adjust for io_getpartial
6669	  [ruby-core:69778] [Feature #11318]
6670
6671Fri Jul  3 07:13:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6672
6673	* dir.c (replace_real_basename): Win32 API does not set errno, get
6674	  the last error by GetLastError() and map to errno.  [Bug #10015]
6675
6676Thu Jul  2 21:32:06 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6677
6678	* dir.c (replace_real_basename): show warnings at errors.
6679	  [Bug #10015]
6680
6681Thu Jul  2 18:39:20 2015  Koichi Sasada  <ko1@atdot.net>
6682
6683	* gc.c: remove `#define RGENGC_OBJ_INFO 1' line introduced to
6684	  debug Bug #11244.
6685
6686Thu Jul  2 18:34:26 2015  Koichi Sasada  <ko1@atdot.net>
6687
6688	* gc.c (rb_raw_obj_info): separated from rb_obj_info().
6689	  Fill internal object information into passed buffer.
6690
6691	* gc.h: declare rb_raw_obj_info().
6692
6693Thu Jul  2 16:15:04 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6694
6695	* dir.c (replace_real_basename): update path type by the target
6696	  attributes if possible, to improve the performance.  [Bug #10015]
6697
6698Thu Jul  2 14:45:53 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
6699
6700	* st.c: get rid of VC++'s warnings of C4700 (uninitialized local
6701	  variable used).  I think that these are wrong, but should shut them
6702	  up.
6703
6704Thu Jul  2 14:15:50 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6705
6706	* lib/rubygems.rb (Gem.load_path_insert_index): search
6707	  @gem_prelude_index first.
6708
6709	* lib/rubygems/test_case.rb (Gem::TestCase#setup): keep already
6710	  expanded paths to preserve instance variables.
6711
6712Thu Jul  2 14:12:01 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6713
6714	* ruby.c (process_options): also copy initial load path marks at
6715	  setting load paths encoding.
6716
6717Thu Jul  2 12:26:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6718
6719	* test/rubygems/test_gem_server.rb (process_based_port): use
6720	  dynamically chosen port numbers to get rid of conflicts.
6721
6722Thu Jul  2 11:58:59 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
6723
6724	* test/rubygems/test_gem_specification.rb: skip tests which the
6725	  platform does not permit the filename of its test file.
6726
6727Thu Jul  2 11:36:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6728
6729	* test/rubygems/test_gem_resolver_git_specification.rb: require
6730	  rubygems/installer.rb before Gem::TestCase#setup runs, otherwise
6731	  as Gem::TestCase#teardown restores $LOADED_FEATURES to the state
6732	  at that time, the requiring the file in GitSpecification#install
6733	  method causes a lot of constant redefinitions.
6734
6735Thu Jul  2 10:43:36 2015  Eric Wong  <e@80x24.org>
6736
6737	* ext/socket/rubysocket.h: flags for common socket families
6738	  (rsock_getfamily): update signature
6739	* include/ruby/io.h: comment socket FMODE flags
6740	* ext/socket/init.c (rsock_getfamily): memoize family
6741	* ext/socket/basicsocket.c: adjust rsock_getfamily calls
6742	* ext/socket/ancdata.c: ditto
6743	  [ruby-core:69713] [Feature #11298]
6744
6745Thu Jul  2 10:30:01 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6746
6747	* lib/rubygems/resolver.rb: fixed NameError of Gem::Util::NULL_DEVICE.
6748
6749Thu Jul  2 09:51:44 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6750
6751	* lib/rubygems/resolver.rb: fix error of null device reference with DOSISH
6752	  platform.
6753
6754Thu Jul  2 06:49:44 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6755
6756	* lib/rubygems: Update to RubyGems HEAD(c202db2).
6757	  this version contains many enhancements see http://git.io/vtNwF
6758	* test/rubygems: ditto.
6759
6760Wed Jul  1 23:50:34 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
6761
6762	* test/net/http/test_httpresponse.rb
6763	(HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase):
6764	fix a failure without zlib.
6765
6766Wed Jul  1 10:54:56 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6767
6768	* Add test for Enumerable#none? [fix GH-950] Patch by @yui-knk
6769
6770Wed Jul  1 09:30:36 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6771
6772	* struct.c (struct_set_members): hide internal back_members
6773	  object, and members object does not need to be duped as it
6774	  should be frozen and hidden.
6775
6776Wed Jul  1 09:28:47 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6777
6778	* struct.c (struct_member_pos): revert r51080 to fix other
6779	  implicit conversions but cast the return value to fix the
6780	  previous implicit conversion.
6781
6782Wed Jul  1 08:47:24 2015  NARUSE, Yui  <naruse@ruby-lang.org>
6783
6784	* struct.c (struct_member_pos): avoid implicit conversion loses
6785	  integer precision: 'long' to 'int'.
6786
6787Wed Jul  1 05:57:03 2015  Eric Wong  <e@80x24.org>
6788
6789	* vm_method.c (rb_add_method_iseq): add RB_GC_GUARD
6790	* class.c (clone_method): remove RB_GC_GUARD
6791	* struct.c (define_aref_method): ditto
6792	  (define_aset_method): ditto
6793	* vm.c (vm_define_method):
6794	* iseq.c (rb_iseq_clone): add RB_GC_GUARD
6795
6796Wed Jul  1 05:43:58 2015  Eric Wong  <e@80x24.org>
6797
6798	* struct.c (AREF_HASH_THRESHOLD): new macro
6799	  (id_back_members): new ID
6800	  (struct_member_pos_ideal): new function
6801	  (struct_member_pos_probe): ditto
6802	  (struct_set_members): ditto
6803	  (struct_member_pos): ditto
6804	  (rb_struct_getmember): use struct_member_pos for O(1) access
6805	  (rb_struct_aref_sym): ditto
6806	  (rb_struct_aset_sym): ditto
6807	  (setup_struct): call struct_set_members
6808	  (struct_define_without_accessor): ditto
6809	  (Init_Struct): initialize __members_back__
6810	  [ruby-core:66851] [ruby-core:69705] [ruby-core:69821]
6811
6812Tue Jun 30 23:12:08 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6813
6814	* io.c (rb_io_reopen): FilePathValue() ensures the path
6815	  NUL-terminated and frozen, so it is unnecessary to make it shared.
6816
6817Tue Jun 30 23:11:53 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6818
6819	* dir.c (check_dirname): ensure path name NUL-terminated for
6820	  SHARABLE_MIDDLE_SUBSTRING.
6821
6822	* io.c (rb_sysopen): ditto.
6823
6824Tue Jun 30 18:38:16 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
6825
6826	* win32/file.c (rb_freopen): need to terminate by NUL.
6827
6828Tue Jun 30 17:28:25 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6829
6830	* io.c (rb_io_reopen): freopen(3) with OS encoding path.
6831	  [ruby-core:69780] [Bug #11320]
6832
6833	* win32/file.c (rb_freopen): wrapper of wchar version freopen(3).
6834	  use _wfreopen_s() if available.
6835
6836Tue Jun 30 08:24:08 2015  Eric Wong  <e@80x24.org>
6837
6838	* io.c (rb_io_oflags_modestr): handle O_TRUNC correctly
6839	* test/ruby/test_io.rb (test_reopen_stdio): new test
6840	  Patch-by: cremno phobia <cremno@mail.ru>
6841	  [ruby-core:69779] [Bug #11319]
6842
6843Tue Jun 30 02:47:02 2015  Eric Wong  <e@80x24.org>
6844
6845	* include/ruby/st.h (struct st_table): hide struct list_head
6846	* st.c (struct st_table_entry): adjust struct
6847	  (head, tail): remove shortcut macros
6848	  (st_head): new wrapper function
6849	  (st_init_table_with_size): adjust to new struct and API
6850	  (st_clear): ditto
6851	  (add_direct): ditto
6852	  (unpack_entries): ditto
6853	  (rehash): ditto
6854	  (st_copy): ditto
6855	  (remove_entry): ditto
6856	  (st_shift): ditto
6857	  (st_foreach_check): ditto
6858	  (st_foreach): ditto
6859	  (get_keys): ditto
6860	  (get_values): ditto
6861	  (st_values_check): ditto
6862	  (st_reverse_foreach_check): ditto (unused)
6863	  (st_reverse_foreach): ditto (unused)
6864	  [ruby-core:69726] [Misc #10278]
6865
6866Mon Jun 29 17:38:01 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6867
6868	* insns.def (defineclass): do not quote unprintable characters at
6869	  raising an exception.
6870
6871Mon Jun 29 16:01:24 2015  NARUSE, Yui  <naruse@ruby-lang.org>
6872
6873	* lib/net/http/response.rb (inflater): CONTENT_ENCODING can be upper
6874	  case. [ruby-core:69670] [Bug #11285] patched by Andy Chu
6875
6876Mon Jun 29 14:50:08 2015  Shugo Maeda  <shugo@ruby-lang.org>
6877
6878	* eval.c (add_activated_refinement): should not include the original
6879	  class.
6880
6881Mon Jun 29 12:09:10 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
6882
6883	* README.md: tweak styles. [fix GH-945][ci skip] Patch by @bryndyment
6884
6885Mon Jun 29 07:23:55 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6886
6887	* template/sizes.c.tmpl: extract RUBY_DEFINT to define sizes of
6888	  types checked by configure.in, and fix size of intptr_t in
6889	  universal binary.
6890
6891Mon Jun 29 02:10:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6892
6893	* insns.def (defineclass): preserve encoding of name in error
6894	  messages for super class mismatch.
6895
6896	* insns.def (defineclass): preserve encoding of name in error
6897	  messages for non-class super.
6898
6899	* insns.def (defineclass): preserve encoding of name in error
6900	  messages when already defined but type mismatch.
6901
6902Sun Jun 28 12:07:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6903
6904	* class.c (rb_define_class_id_under): raise TypeError exception
6905	  same as ruby level class definition when superclass mismatch.
6906
6907Sun Jun 14 19:02:03 2015  Benoit Daloze  <eregontp@gmail.com>
6908
6909	* lib/net/ftp.rb (makeport): close the TCPServer
6910	  when sending the port fails.
6911
6912	* test/net/ftp/test_ftp.rb: test for above.
6913
6914Fri Jun 26 12:48:37 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
6915
6916	* transcode.c (load_transcoder_entry): fix transcoder loading race
6917	  condition, by waiting in require.  [ruby-dev:49106] [Bug #11277]
6918
6919Fri Jun 26 07:53:56 2015  Eric Wong  <e@80x24.org>
6920
6921	* enum.c (enum_minmax): simplify return value creation
6922	* test/ruby/test_enum.rb: test behavior on empty
6923	* hash.c (rb_hash_fetch_m): remove unnecessary volatile since r41597
6924	  (env_reject_bang): trade volatile for GC guard
6925	  (env_select): ditto
6926	  (env_select_bang): ditto
6927	  (env_keep_if): ditto
6928	  (rb_env_clear): ditto
6929
6930Thu Jun 25 21:24:28 2015  Naohisa Goto  <ngotogenome@gmail.com>
6931
6932	* test/-ext-/popen_deadlock/test_popen_deadlock.rb: test [Bug #11265]
6933
6934	* ext/-test-/popen_deadlock/infinite_loop_dlsym.c: new ext to call
6935	  dlsym(3) infinitely without GVL, used in the above test.
6936
6937	* ext/-test-/popen_deadlock/extconf.rb: extconf.rb for the above
6938	  ext. Currently, only enabled on Solaris (main target) and Linux
6939	  (as a reference platform and for debugging the ext).
6940
6941Thu Jun 25 19:24:25 2015  Naohisa Goto  <ngotogenome@gmail.com>
6942
6943	* configure.in: not to use vfork on Solaris to avoid deadlock
6944	  occurred in vfork(2) with multi-threading and dynamic linker
6945	  on Solaris. [Bug #11265] [ruby-dev:49089]
6946
6947Thu Jun 25 18:25:41 2015  Naohisa Goto  <ngotogenome@gmail.com>
6948
6949	* test/lib/envutil.rb (Test::Unit::Assertions#assert_no_memory_leak):
6950	  NO_MEMORY_LEAK_ENVS is moved to Memory::NO_MEMORY_LEAK_ENVS
6951	  to reduce child executions during test-all on Solaris.
6952
6953	* test/lib/memory_status.rb (Memory::NO_MEMORY_LEAK_ENVS): ditto.
6954
6955Thu Jun 25 17:32:33 2015  Koichi Sasada  <ko1@atdot.net>
6956
6957	* vm_method.c (rb_method_entry_create): need to call
6958	  method_definition_reset() if def is given.
6959
6960	  Actually, `me' is a new object, so we don't need to call it.
6961	  It is just to make sure.
6962
6963	* vm_method.c (method_definition_reset): remove duplicated insertion.
6964
6965	* vm_method.c (rb_method_entry_clone): assign dst->def here,
6966	  not in method_definition_reset().
6967
6968Thu Jun 25 16:44:54 2015  Koichi Sasada  <ko1@atdot.net>
6969
6970	* vm_method.c: make a rb_method_definition_t data (def) *after* making
6971	  a rb_method_entry_t data (me).
6972
6973	  Normally, `me' points `def'. Some Ruby objects pointed from `def'
6974	  and objects are marked by `me' (mark_method_entry() in gc.c).
6975	  However, `def' is built before making a `me', then nobody can mark
6976	  objects pointed from `def' before making (and pointing from) `me'.
6977
6978	  I hope this patch solve #11244.
6979
6980	* vm_method.c: remove `rb_' prefix from some static functions.
6981
6982	* method.h (rb_method_entry_create): constify
6983
6984	* gc.c (mark_method_entry): add checking `def' and
6985	  `def->body.iseq.iseqptr' availability because they can be NULL.
6986
6987Thu Jun 25 14:14:16 2015  takiy33  <takiy33@gmail.com>
6988
6989	* test/test_prime.rb (test_eratosthenes_works_fine_after_timeout):
6990	  use spaces instead of TABs in ruby codes.  [Fix GH-944]
6991
6992Thu Jun 25 07:08:35 2015  Koichi Sasada  <ko1@atdot.net>
6993
6994	* gc.c (obj_info, method_type_name): show method type name in a string
6995	  instead of a number.
6996
6997Thu Jun 25 06:49:25 2015  Koichi Sasada  <ko1@atdot.net>
6998
6999	* gc.c (obj_info): show more details for T_IMEMO/imemo_ment.
7000
7001Thu Jun 25 06:40:46 2015  Koichi Sasada  <ko1@atdot.net>
7002
7003	* vm_method.c (rb_method_definition_reset): need a WB for
7004	  VM_METHOD_TYPE_ATTRSET.
7005
7006Thu Jun 25 03:33:21 2015  Koichi Sasada  <ko1@atdot.net>
7007
7008	* gc.c (RGENGC_OBJ_INFO, obj_info): add a macro to enable/disable
7009	  rich obj_info() output.
7010
7011	  At the default, the value of RGENGC_OBJ_INFO is
7012	  (RGENGC_DEBUG | RGENGC_CHECK_MODE).
7013
7014	* gc.c (RGENGC_OBJ_INFO): force enable it to debug #11244.
7015
7016	* gc.c (gc_mark_ptr): print more details with obj_info().
7017
7018	* gc.c (gc_mark_children): remove useless debug prints.
7019
7020Thu Jun 25 02:40:33 2015  Eric Wong  <e@80x24.org>
7021
7022	* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal):
7023	  do not process kwargs in blocking mode
7024	* test/openssl/test_ssl.rb: test sysread
7025
7026Wed Jun 24 16:54:11 2015  Koichi Sasada  <ko1@atdot.net>
7027
7028	* gc.c (gc_mark_children): add additional debug code for #11244.
7029
7030Wed Jun 24 16:05:42 2015  Eric Wong  <e@80x24.org>
7031
7032	* string.c (rb_str_justify): use RB_GC_GUARD
7033
7034Wed Jun 24 14:25:17 2015  Koichi Sasada  <ko1@atdot.net>
7035
7036	* gc.c (gc_mark_ptr): add a check code for #11244.
7037
7038	  It should be removed later. But we can remain this check
7039	  because it is only a branch.
7040
7041Wed Jun 24 12:49:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7042
7043	* string.c (rb_fstring_cstr): new function to make a fstring from
7044	  a string literal.
7045
7046	* internal.h (rb_fstring_lit): new macro to make a fstring from a
7047	  string literal.
7048
7049	* include/ruby/intern.h (rb_strlen_lit): new macro to get the
7050	  length of a string literal, borrowed from mruby/mruby@e4afd53.
7051
7052Wed Jun 24 12:21:16 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7053
7054	* re.c: Update documentation for Regexp class.
7055	  [fix GH-937][ci skip] Patch by @davydovanton
7056
7057Wed Jun 24 09:23:03 2015  Eric Wong  <e@80x24.org>
7058
7059	* variable.c (generic_ivar_set): remove FL_ABLE check
7060	  (gen_ivar_copy): ditto
7061	  [ruby-core:69715]
7062
7063Wed Jun 24 08:28:15 2015  Eric Wong  <e@80x24.org>
7064
7065	* ext/socket/ancdata.c (bsock_recvmsg_internal): reduce stack use
7066	  [ruby-core:69595] [Feature #11263]
7067
7068Tue Jun 23 14:32:42 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7069
7070	* error.c (name_err_receiver): raise ArgumentError if no receiver
7071	  is available on this exception object.  [Feature #10881]
7072
7073Tue Jun 23 09:48:34 2015  Eric Wong  <e@80x24.org>
7074
7075	* dir.c (check_dirname): avoid volatile, use return value
7076	  (dir_s_chroot, dir_s_mkdir, dir_s_rmdir): adjust callers
7077
7078Tue Jun 23 06:37:10 2015  Eric Wong  <e@80x24.org>
7079
7080	* struct.c (struct_ivar_get): cache member definition in a subclass
7081	  Thanks to Sokolov Yura aka funny_falcon <funny.falcon@gmail.com>
7082	  in https://bugs.ruby-lang.org/issues/10585
7083
7084Tue Jun 23 04:58:06 2015  Eric Wong  <e@80x24.org>
7085
7086	* benchmark/bm_vm2_struct_big_href_hi.rb: new benchmark
7087	* benchmark/bm_vm2_struct_big_href_lo.rb: ditto
7088	* benchmark/bm_vm2_struct_big_hset.rb: ditto
7089	* benchmark/bm_vm2_struct_small_href.rb: ditto
7090	* benchmark/bm_vm2_struct_small_hset.rb: ditto
7091	  Thanks to Sokolov Yura aka funny_falcon <funny.falcon@gmail.com>
7092	  in https://bugs.ruby-lang.org/issues/10585
7093
7094Mon Jun 22 18:08:48 2015  Naohisa Goto  <ngotogenome@gmail.com>
7095
7096	* test/lib/test/unit.rb (Test::Unit::Parallel#start_watchdog): removed
7097	  because it has been meaningless since r36385. [Bug #11288]
7098
7099	* test/lib/test/unit.rb (Test::Unit::Parallel#_run_parallel): delete
7100	  lines related to the removed start_watchdog method
7101
7102Sun Jun 21 23:52:46 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
7103
7104	* NEWS: mention about Array#bsearch_index and Hash#fetch_values.
7105
7106Sun Jun 21 23:46:27 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
7107
7108	* NEWS: add a reference to a ticket.
7109
7110Sun Jun 21 20:28:09 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7111
7112	* internal.h (roomof): extract from type_roomof, and move from
7113	  bignum.c.
7114
7115Sun Jun 21 18:32:37 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7116
7117	* ruby_atomic.h (ATOMIC_PTR_CAS): define by generic CAS macro, not
7118	  via size_t, to suppress a warning by mingw gcc.
7119
7120Sun Jun 21 05:31:41 2015  Shota Fukumori  <her@sorah.jp>
7121
7122	* ext/objspace/objspace_dump.c(dump_object): Return empty JSON object when
7123	  passed object is a special const, instead of SEGV.
7124	  Based patch by Kohei Suzuki (eagletmt). [ruby-core:69692] [Bug #11291]
7125
7126	* test/objspace/test_objspace.rb(test_dump_special_consts): Test for above fix.
7127
7128
7129Sat Jun 20 03:56:58 2015  Yusuke Endoh  <mame@ruby-lang.org>
7130
7131	* enc/make_encmake.rb: the list of encoding extension libraries must
7132	  not include encinit.c itself.  It caused "undefined reference to
7133	  Init_encinit".
7134
7135Sat Jun 20 02:03:53 2015  Naohisa Goto  <ngotogenome@gmail.com>
7136
7137	* process.c (rb_execarg_parent_start1): new macro ALWAYS_NEED_ENVP
7138	  to generate envp_str anytime on Solaris 10 (or earlier version
7139	  of Solaris) to avoid calling execv() which is async-signal unsafe
7140	  on Solaris 10. [Bug #11265] [ruby-dev:49089]
7141
7142	* process.c (exec_with_sh, proc_exec_cmd): On Solaris 10,
7143	  because ALWAYS_NEED_ENVP is 1 and envp_str is always generated,
7144	  execv() in exec_with_sh() and proc_exec_cmd() are never called.
7145	  To guarantee this, execv() is replaced by a macro to print
7146	  out error message on Solaris 10.
7147
7148	* process.c (proc_exec_sh): Because proc_exec_sh() may be called
7149	  by rb_proc_exec() with envp_str = Qfalse, execl() is replaced
7150	  by a macro that calls execle() with "extern char **environ"
7151	  traditional global variable on Solaris 10.
7152	  TODO: This may be unsafe and should be changed in the future.
7153	  Although rb_proc_exec() is not used from inside current version
7154	  of ruby, it may be called by third-party extensions.
7155
7156Sat Jun 20 01:10:13 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
7157
7158	* NEWS: mention about $SAFE.
7159
7160Fri Jun 19 14:53:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7161
7162	* proc.c (rb_mod_define_method): now requires a block direct to
7163	  this method call.  [ruby-core:69655] [Bug #11283]
7164
7165Fri Jun 19 13:54:43 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7166
7167	* proc.c (rb_mod_define_method): get rid of inadvertent ID
7168	  creations at error.
7169
7170Fri Jun 19 07:58:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7171
7172	* ext/extmk.rb: if no with-ext option is given, default to
7173	  enable everything.  [ruby-dev:49108] [Bug #11280]
7174
7175Fri Jun 19 06:30:07 2015  Koichi Sasada  <ko1@atdot.net>
7176
7177	* bootstraptest/test_method.rb: remove a test because $SAFE=2 was
7178	  obsolete.
7179
7180	  Please check btest, too.
7181
7182Thu Jun 18 23:51:51 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
7183
7184	* bin/erb: $SAFE=3 is obsolete.
7185
7186Thu Jun 18 23:45:11 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
7187
7188	* safe.c: removed needless doc related $SAFE=2
7189
7190Thu Jun 18 23:38:07 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
7191
7192	* thread.c (rb_thread_safe_level): fix document.  $SAFE=3 is obsolete.
7193	  [ci skip]
7194
7195Thu Jun 18 23:25:51 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7196
7197	* ext/extmk.rb: configure intersection of with-ext and not
7198	  without-ext, as withouts is no longer true by default if
7199	  with-ext option is given.  [ruby-dev:49108] [Bug #11280]
7200
7201Thu Jun 18 23:20:46 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7202
7203	* include/ruby/ruby.h: $SAFE=2 is now obsolete.
7204
7205	* dir.c, ext/fiddle/handle.c, ext/socket/basicsocket.c, file.c
7206	  gc.c, io.c, process.c, safe.c, signal.c, win32/file.c:
7207	  removed code for $SAFE=2
7208
7209	* test/erb/test_erb.rb, test/fiddle/test_handle.rb
7210	  test/ruby/test_env.rb: removed tests for $SAFE=2.
7211
7212Thu Jun 18 22:50:07 2015  Yusuke Endoh  <mame@ruby-lang.org>
7213
7214	* enc/make_encmake.rb: added --transes and --no-transes options.
7215
7216Thu Jun 18 18:24:12 2015  Eric Wong  <e@80x24.org>
7217
7218	* test/socket/test_unix.rb: replace sleep with select
7219
7220Thu Jun 18 17:59:06 2015  Koichi Sasada  <ko1@atdot.net>
7221
7222	* vm.c (rb_vm_control_frame_id_and_class): remove useless codes.
7223	  `me' knows ID and owner class.
7224
7225Thu Jun 18 16:58:35 2015  Koichi Sasada  <ko1@atdot.net>
7226
7227	* method.h: constify rb_method_alias_struct::original_me and
7228	  rb_method_refined_struct::orig_me.
7229
7230	* class.c (move_refined_method): use RB_OBJ_WRITE() for
7231	  me->def->body.refined.orig_me.
7232
7233Thu Jun 18 14:35:28 2015  Koichi Sasada  <ko1@atdot.net>
7234
7235	* ext/objspace/objspace.c (count_imemo_objects): support imemo_ment.
7236
7237Thu Jun 18 13:32:46 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7238
7239	* error.c (name_err_receiver): add NameError#receiver method.
7240	  [Feature #10881]
7241
7242Thu Jun 18 10:00:06 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7243
7244	* safe.c: removed needless doc related $SAFE=3
7245
7246Thu Jun 18 09:59:23 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7247
7248	* safe.c: rename old method name for $SAFE=3
7249
7250Thu Jun 18 06:02:42 2015  Eric Wong  <e@80x24.org>
7251
7252	* compile.c (get_exception_sym2type, iseq_build_from_ary_body):
7253	  rely on %+PRIsVALUE instead of calling rb_inspect directly
7254
7255Wed Jun 17 20:59:25 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7256
7257	* common.mk (ENC_MK): needs fake.rb if cross compilation.
7258	  [ruby-dev:49098] [Bug #11272]
7259
7260Wed Jun 17 20:23:29 2015  Tanaka Akira  <akr@fsij.org>
7261
7262	* ext/rbconfig/sizeof/extconf.rb: Check __float80.
7263
7264Wed Jun 17 15:15:53 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
7265
7266	* safe.c (safe_setter): of course, don't have to warn the limitation of
7267	  $SAFE=3 after it's removed.
7268
7269Wed Jun 17 14:29:43 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7270
7271	* include/ruby/ruby.h: $SAFE=3 is now obsolete.
7272
7273	* ext/socket/init.c, ext/socket/socket.c, ext/socket/tcpsocket.c
7274	  ext/socket/udpsocket.c, gc.c, object.c, re.c, safe.c: removed code
7275	  for $SAFE=3
7276
7277	* bootstraptest/test_method.rb, test/erb/test_erb.rb, test/ruby/test_dir.rb
7278	  test/ruby/test_file.rb, test/ruby/test_method.rb, test/ruby/test_regexp.rb
7279	  test/ruby/test_thread.rb: remove tests for $SAFE=3
7280
7281Wed Jun 17 12:13:33 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7282
7283	* ChangeLog: added contributor name.
7284
7285Wed Jun 17 10:57:28 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7286
7287	* lib/csv.rb: accept to use Range object for row selection.
7288	  contributed by Mitsutaka Mimura.
7289	  [Feature #11267][ruby-dev:49091]
7290
7291Wed Jun 17 09:50:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7292
7293	* lib/rdoc/servlet.rb (documentation_search, root_search):
7294	  requires json for JSON.dump and fix sporadic failures due to
7295	  the loading order.
7296
7297Tue Jun 16 19:19:53 2015  Tanaka Akira  <akr@fsij.org>
7298
7299	* ext/rbconfig/sizeof/extconf.rb: Check several types defined in C99
7300	  and x86_64 ABI.
7301
7302	* template/sizes.c.tmpl: Relax a pattern for types.
7303
7304Tue Jun 16 17:37:01 2015  Koichi Sasada  <ko1@atdot.net>
7305
7306	* test/objspace/test_objspace.rb: relax pattern because uncollectible
7307	  flag and marked flag can be false at major GC.
7308	  [Bug #10852]
7309
7310Tue Jun 16 04:50:44 2015  Eric Wong  <e@80x24.org>
7311
7312	* ext/socket/basicsocket.c (bsock_recv): document outbuf
7313	* ext/socket/unixsocket.c (unix_recvfrom): ditto
7314	* ext/socket/init.c (rsock_strbuf, recvfrom_locktmp): new functions
7315	  (rsock_s_recvfrom): support destination buffer as 3rd arg
7316	  (rsock_s_recvfrom_nonblock): ditto
7317	* string.c (rb_str_locktmp_ensure): export for internal ext
7318	* test/socket/test_nonblock.rb: test recv_nonblock
7319	* test/socket/test_unix.rb: test recv
7320	  [ruby-core:69543] [Feature #11242]
7321
7322Tue Jun 16 04:38:02 2015  Eric Wong  <e@80x24.org>
7323
7324	* ext/socket/ancdata.c (bsock_sendmsg_internal,
7325	  bsock_recvmsg_internal):
7326	  support "exception: false" kwarg
7327	* ext/socket/init.c (rsock_s_recvfrom_nonblock):
7328	  ditto
7329	* ext/socket/init.c (rsock_s_recvfrom_nonblock): use rsock_opt_false_p
7330	* ext/socket/socket.c (sock_connect_nonblock): ditto
7331	* ext/socket/rubysocket.h (rsock_opt_false_p): new function
7332	* ext/socket/basicsocket.c (bsock_recv_nonblock): update rdoc
7333	* ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto
7334	* test/socket/test_nonblock.rb: new tests
7335	  [ruby-core:69542] [Feature #11229]
7336
7337Mon Jun 15 14:33:02 2015  Akinori MUSHA  <knu@iDaemons.org>
7338
7339	* lib/set.rb: Make Set#each and SortedSet#each generate a sized
7340	  enumerator. [GH-931] by kachick (Kenichi Kamiya)
7341
7342	* test/test_set.rb: Import tests from Set into SortedSet. [GH-931]
7343	  by kachick (Kenichi Kamiya)
7344
7345Mon Jun 15 02:26:34 2015  NARUSE, Yui  <naruse@ruby-lang.org>
7346
7347	* lib/net/http.rb (Net::HTTP#connect): use connect_nonblock and
7348	  io/wait to eliminate timeout use. fix GH-899
7349
7350Sat Jun 13 07:21:18 2015  KOSAKI Motohiro  <kosaki.motohiro@gmail.com>
7351
7352	* thread.c (thread_start_func_2): don't interrupt when last thread
7353	  exit unless main thread is already exited. Otherwise main thread
7354	  could be wrongly interrupted when it uses rb_thread_call_without_gvl().
7355	  Patch by Takehiro Kubo. [Bug #11237][ruby-dev:49044][GH-898]
7356
7357	* test/-ext-/gvl/test_last_thread.rb: new test for the above fix.
7358
7359	* ext/-test-/gvl/call_without_gvl/call_without_gvl.c: new ext for
7360	  the above test.
7361	* ext/-test-/gvl/call_without_gvl/extconf.rb: ditto.
7362
7363Mon Jun 15 00:14:33 2015  Tanaka Akira  <akr@fsij.org>
7364
7365	* ext/pathname/lib/pathname.rb (descend): Blockless form supported.
7366	  (ascend): Ditto.
7367	  [ruby-core:68820] [Feature #11052] Patch by Piotr Szotkowski.
7368
7369Sun Jun 14 20:09:25 2015  Tanaka Akira  <akr@fsij.org>
7370
7371	* time.c (time_getlocaltime): [DOC] Add examples of valid utc_offset
7372	  formats.
7373	  [ruby-core:68306] [Misc #10905] Patch by Charles Korn.
7374
7375Sun Jun 14 18:49:56 2015  Tanaka Akira  <akr@fsij.org>
7376
7377	* ext/socket/raddrinfo.c (parse_numeric_port): Detect
7378	  port overflow.
7379	  (numeric_getaddrinfo): Use parse_numeric_port.
7380	  numeric_getaddrinfo fails if port is too big now.
7381	  This makes rb_getaddrinfo invokes the real getaddrinfo()
7382	  on such condition.
7383	  This change is related to [ruby-core:69355] [Bug #11179].
7384
7385Sun Jun 14 17:26:03 2015  Tanaka Akira  <akr@fsij.org>
7386
7387	* enum.c (enum_chunk_while): New method Enumerable#chunk_while.
7388	  [ruby-core:67738] [Feature #10769] proposed by Tsuyoshi Sawada.
7389
7390Sun Jun 14 17:20:40 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7391
7392	* file.c (rb_file_load_ok): try opening file without gvl not to
7393	  lock entire process.  [Bug #11060]
7394
7395Sun Jun 14 10:43:50 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
7396
7397	* tool/runruby.rb: just remove the lines of RUBY_VERSION check and raise
7398	  instead of replacing the check to `true`, for getting rid of a
7399	  warning `possibly useless use of true in void context`.
7400
7401Sun Jun 14 10:13:55 2015  Kouhei Sutou  <kou@cozmixng.org>
7402
7403	* lib/rexml/source.rb (REXML::IOSource#scan): Fix a typo in
7404	  document. [fix GH-934]
7405	  Patch by Anton Davydov. Thanks!!!
7406
7407Sun Jun 14 10:09:48 2015  Kouhei Sutou  <kou@cozmixng.org>
7408
7409	* lib/rexml/attlistdecl.rb (REXML::AttlistDecl): Fix a typo in
7410	  document. [fix GH-934]
7411	  Patch by Anton Davydov. Thanks!!!
7412
7413Sun Jun 14 06:24:57 2015  Benoit Daloze  <eregontp@gmail.com>
7414
7415	* test/ruby/test_io.rb: add test for IO.binread fd leak.
7416	  See r50881.
7417
7418Sun Jun 14 05:23:51 2015  Benoit Daloze  <eregontp@gmail.com>
7419
7420	* io.c (rb_io_s_binread): close fd if seek offset is invalid.
7421
7422Sun Jun 14 04:40:32 2015  Benoit Daloze  <eregontp@gmail.com>
7423
7424	* test/lib/leakchecker.rb (check): refactor.
7425
7426Sun Jun 14 04:34:14 2015  Benoit Daloze  <eregontp@gmail.com>
7427
7428	* test/lib/leakchecker.rb: Return false for no leaks.
7429	  Otherwise the GC could run for nothing.
7430
7431Sun Jun 14 04:15:40 2015  Benoit Daloze  <eregontp@gmail.com>
7432
7433	* lib/delegate.rb: [DOC] Update SimpleDelegator example. [ci skip]
7434
7435Sat Jun 13 20:28:14 2015  NARUSE, Yui  <naruse@ruby-lang.org>
7436
7437	* file.c (rb_stat_ino): get inode from the interval of struct st.
7438
7439	* win32/win32.c (stati64_set_inode): get nFileIndexHigh/Low, and set it
7440	  to the interval of struct st as inode.
7441	  [Feature #11216]
7442
7443	* win32/win32.c (stati64_set_inode_handle): call stati64_set_inode.
7444
7445	* win32/win32.c (rb_w32_fstati64): call stati64_set_inode_handle.
7446
7447	* win32/win32.c (stati64_handle): call stati64_set_inode.
7448
7449Sat Jun 13 19:44:53 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
7450
7451	* ext/io/console/depend (.list.chksum): revert a part of r50859, because
7452	  it was not mentioned at its commit log and it caused a build error on
7453	  Windows ($(MAKE) is already quoted).
7454
7455Sat Jun 13 17:35:11 2015  NARUSE, Yui  <naruse@ruby-lang.org>
7456
7457	* vm_core.h (rb_thread_t): add th->name.
7458
7459	* vm.c (th_init): initialize th->name.
7460
7461	* thread.c (Init_Thread): add Thread.name and name=. [Feature #11251]
7462
7463	* thread.c (rb_thread_inspect): show thread's name if set.
7464
7465	* thread.c (rb_thread_getname): defined.
7466
7467	* thread.c (rb_thread_setname): ditto.
7468
7469Sat Jun 13 11:39:43 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7470
7471	* lib/tempfile.rb: Fix typo. [fix GH-933] Patch by @Zorbash
7472
7473Sat Jun 13 11:38:00 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7474
7475	* ext/openssl/ossl_ocsp.c: fix documentation on ocsp response cert status.
7476	  [fix GH-932] Patch by @chrisholmes
7477
7478Sat Jun 13 11:35:19 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7479
7480	* ext/bigdecimal/bigdecimal.gemspec: Fix require paths for released gem.
7481	  [fix GH-929] Patch by @voxik
7482	* ext/io/console/io-console.gemspec: ditto.
7483
7484Sat Jun 13 00:45:08 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
7485
7486	* lib/prime.rb: Return sized enumerators.
7487	  Patch by Kenichi Kamiya [GH-931]
7488
7489Sat Jun 13 00:45:06 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
7490
7491	* lib/prime.rb: Fix with_object with no block given
7492
7493Sat Jun 13 00:44:59 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
7494
7495	* lib/prime.rb: Have with_index accept an offset parameter.
7496	  Based on patch by T Yamada. [#11007]
7497
7498Fri Jun 12 22:21:12 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
7499
7500	* test/ruby/test_extlibs.rb (TestExtLibs::check_existence): fix
7501	  error. [Bug #11255] [ruby-dev:49079]
7502
7503Fri Jun 12 21:17:46 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
7504
7505	* pack.c (pack_{un,}pack): new template character `j` and `J`, pointer
7506	  with signed and unsigned integers.
7507
7508	* NEWS: mention about this feature.
7509	  [Feature #11215] [ruby-dev:49015]
7510
7511Fri Jun 12 21:01:44 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
7512
7513	* file.c (File::SHARE_DELETE): new flag to be able to delete opened file
7514	  on Windows.
7515
7516	* include/win32/win32.c (O_SHARE_DELETE): new pseudo file mode flag.
7517
7518	* win32/win32.c (rb_w32_{w,}open): support above flag.  [EXPERIMENTAL]
7519
7520	* NEWS: mention about this feature.
7521	  [Feature #11218] [ruby-dev:49022]
7522
7523Fri Jun 12 18:21:45 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7524
7525	* ChangeLog: added missing commit message.
7526
7527Fri Jun 12 18:20:37 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7528
7529	* sample/exyacc.rb: Fix some typos. [fix GH-927] Patch by @davydovanton
7530	* sample/list.rb: ditto.
7531	* sample/trick2013/kinaba/remarks.markdown: ditto.
7532
7533Fri Jun 12 17:34:14 2015  Wojciech Mach  <wojtek@wojtekmach.pl>
7534
7535	* hash.c (rb_hash_fetch_values): add `Hash#fetch_values`.
7536	  [Feature #10017] [Fix GH-776]
7537
7538Fri Jun 12 16:28:17 2015  Radan Skoric  <radan.skoric@gmail.com>
7539
7540	* array.c (rb_ary_bsearch_index): Implement Array#bsearch_index
7541	  method, which is similar to bsearch and returns the index or
7542	  nil.  [Feature #10730]
7543
7544Thu Jun 11 19:11:22 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7545
7546	* ext/zlib/zlib.c: Fix indentation for rdoc.
7547	  [Bug #11221][ruby-core:69465]
7548
7549Thu Jun 11 16:23:37 2015  Koichi Sasada  <ko1@atdot.net>
7550
7551	* method.h (METHOD_ENTRY_BASIC_SET): fix last commit (unbalanced parens).
7552
7553Thu Jun 11 15:14:16 2015  NARUSE, Yui  <naruse@ruby-lang.org>
7554
7555	* configure.in: define SET_THREAD_NAME if it has pthread_set_name_np
7556	  for FreeBSD, and don't define it if both pthread_setname_np
7557	  and pthread_set_name_np don't exist.
7558
7559	* thread_pthread.c (SET_THREAD_NAME): don't define if they don't exist.
7560
7561	* thread_pthread.c (native_set_thread_name): run if SET_THREAD_NAME
7562	  is defined.
7563
7564Thu Jun 11 15:53:31 2015  Koichi Sasada  <ko1@atdot.net>
7565
7566	* method.h (METHOD_ENTRY_BASIC_SET): should clear last bit.
7567
7568Thu Jun 11 14:34:45 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7569
7570	* lib/rubygems.rb: bump version to 2.4.7 and 2.4.8. these versions fixed
7571	  CVE-2015-3900.
7572	* lib/rubygems/remote_fetcher.rb: ditto.
7573	* test/rubygems/test_gem_remote_fetcher.rb: added testcase for CVE-2015-3900
7574
7575Thu Jun 11 14:18:51 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7576
7577	* lib/rubygems.rb: bump version to 2.4.6. It's missing change at r49774.
7578
7579Thu Jun 11 13:50:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7580
7581	* array.c (ary_ensure_room_for_push): check if array size will
7582	  exceed maximum size to get rid of buffer overflow.
7583	  [ruby-dev:49043] [Bug #11235]
7584
7585	* array.c (ary_ensure_room_for_unshift, rb_ary_splice): ditto.
7586
7587Thu Jun 11 13:17:34 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
7588
7589	* test/test_cmath.rb (TestCMath#test_trigonometric_functions): should
7590	  not compare float values (in complex values) by `==`.
7591
7592Thu Jun 11 08:52:01 2015  Koichi Sasada  <ko1@atdot.net>
7593
7594	* method.h: embed rb_method_entry_t::attr::flags (5 bits) into
7595	  rb_method_entry_t::flags to make one word spare space.
7596
7597	  Add some macros to access these flags.
7598
7599	* vm_method.c: use these macros.
7600
7601	* internal.h: define IMEMO_FL_USHIFT and IMEMO_FL_USER[0-4]
7602	  for T_IMEMO local flags.
7603
7604Thu Jun 11 08:27:06 2015  Koichi Sasada  <ko1@atdot.net>
7605
7606	* vm.c: use VM_ASSERT instead of assert().
7607
7608	* vm_args.c: ditto.
7609
7610	* vm_insnhelper.c: ditto.
7611
7612	* vm_method.c: ditto.
7613
7614Thu Jun 11 08:16:48 2015  Koichi Sasada  <ko1@atdot.net>
7615
7616	* vm_core.h: define VM_ASSERT() for assertion
7617	  enabled only when (VM_CHECK_MODE > 0).
7618
7619	* vm_insnhelper.c: move definition VM_CHECK_MODE
7620	  from vm_insnhelper.c to vm_core.h.
7621
7622	* vm.c: remove <assert.h>
7623
7624Thu Jun 11 06:46:07 2015  Koichi Sasada  <ko1@atdot.net>
7625
7626	* vm_insnhelper.c (check_frame): check type of cref_or_me first.
7627
7628Thu Jun 11 04:34:39 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
7629
7630	* test/test_cmath.rb: Add some assertions.
7631
7632Thu Jun 11 00:34:39 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7633
7634	* template/fake.rb.in: expanded macro result may have spaces
7635	  between tokens.  [ruby-dev:49047] [Bug #11243]
7636
7637Wed Jun 10 22:27:32 2015  Naohisa Goto  <ngotogenome@gmail.com>
7638
7639	* lib/mkmf.rb: revert r50804 because of build failure when specifying
7640	  LDFLAGS during configure, observed on Solaris with GCC 4.6.
7641	  [Bug #11245]
7642
7643Wed Jun 10 21:59:51 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
7644
7645	* README.ja.md: fix markup miss.
7646
7647Wed Jun 10 11:06:25 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7648
7649	* template/fake.rb.in: turn into erb template from autoconf
7650	  template to fake more accurately.
7651
7652	* common.mk (fake.rb): needs preprocessed file now.
7653
7654	* version.c (Init_version): add dummy expression to
7655	  RUBY_ENGINE_VERSION.
7656
7657Tue Jun  9 12:31:25 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
7658
7659	* lib/prime.rb: Simplify and optimize EratosthenesSieve
7660
7661Tue Jun  9 11:45:00 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
7662
7663	* lib/prime.rb: Simplify and optimize EratosthenesSieve
7664	  based on patch by Ajay Kumar. [Fixes GH-921]
7665
7666Mon Jun  8 05:09:58 2015  Koichi Sasada  <ko1@atdot.net>
7667
7668	* gc.c (obj_info): print method id for T_IMEMO/ment.
7669
7670Sun Jun  7 07:05:43 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
7671
7672	* Move test cases from test/ruby/test_complex.rb to test/test_cmath.rb
7673
7674Sat Jun  6 18:23:41 2015  Koichi Sasada  <ko1@atdot.net>
7675
7676	* method.h: back to share rb_method_definition_t by
7677	  rb_method_entry_t.
7678
7679	  r50728 changed sharing `def's to isolating `def's
7680	  on alias and so on. However, this change conflicts
7681	  future improvement plan. So I change back to sharing approach.
7682
7683	* method.h: move rb_method_definition_t::flags to
7684	  rb_method_entry_t::attr::flags.
7685
7686	  rb_method_entry_t::attr is union with VALUE because this field
7687	  should have same size of VALUE. rb_method_entry_t is T_IMEMO).
7688
7689	  And also add the following access macros to it's fields.
7690
7691	  * METHOD_ENTRY_VISI(me)
7692	  * METHOD_ENTRY_BASIC(me)
7693	  * METHOD_ENTRY_SAFE(me)
7694
7695	* vm_method.c (rb_method_definition_addref): added instead of
7696	  rb_method_definition_clone().
7697
7698	  Do not create new definition, but increment alias_count.
7699
7700	* class.c (clone_method): catch up this fix.
7701
7702	* class.c (method_entry_i): ditto.
7703
7704	* proc.c (mnew_internal): ditto.
7705
7706	* proc.c (mnew_missing): ditto.
7707
7708	* vm_eval.c: ditto.
7709
7710	* vm_insnhelper.c: ditto.
7711
7712	* vm_method.c: ditto.
7713
7714Sat Jun  6 15:59:38 2015  Koichi Sasada  <ko1@atdot.net>
7715
7716	* class.c: ins_methods_push() needs rb_method_visibility_t type on
7717	  2nd arg.
7718
7719Sat Jun  6 15:05:47 2015  Koichi Sasada  <ko1@atdot.net>
7720
7721	* class.c (ins_methods_push): Change type and name of parameters
7722	  to make more clear.
7723
7724Sat Jun  6 08:52:13 2015  Eric Wong  <e@80x24.org>
7725
7726	* test/socket/test_nonblock.rb: try to avoid EMSGSIZE
7727	  [ruby-core:69466]
7728
7729Sat Jun  6 07:58:30 2015  Koichi Sasada  <ko1@atdot.net>
7730
7731	* gc.c: remove struct mark_tbl_arg and pass objspace directly
7732	  to avoid indirect access overhead.
7733
7734Sat Jun  6 07:08:45 2015  Eric Wong  <e@80x24.org>
7735
7736	* ext/socket/ancdata.c (bsock_sendmsg_internal): drop redundant assignment
7737
7738Sat Jun  6 01:00:06 2015  Naohisa Goto  <ngotogenome@gmail.com>
7739
7740	* ext/socket/ancdata.c (bsock_sendmsg_internal): all arguments are
7741	  parsed even on systems without HAVE_STRUCT_MSGHDR_MSG_CONTROL
7742	  to prevent SEGV caused by passing Qnil to RARRAY_LENINT and
7743	  to preserve behavior before r50776.
7744	  [Bug #11224] [ruby-core:69468] [Bug #11225] [ruby-core:69469]
7745
7746Fri Jun  5 22:37:42 2015  Koichi Sasada  <ko1@atdot.net>
7747
7748	* class.c (ins_methods_push): change 3rd parameter's type
7749	  from long to rb_method_visibility_t.
7750
7751	* class.c (ins_methods_i): catch up this fix.
7752
7753	* class.c (method_entry_i): cast to st_data_t instead of `long'.
7754
7755Fri Jun  5 20:37:10 2015  Koichi Sasada  <ko1@atdot.net>
7756
7757	* internal.h: move definition of rb_cref_t to method.h.
7758
7759	* eval_intern.h: move definition of rb_scope_visibility_t
7760	  to method.h.
7761
7762	* method.h: change rb_cref_t::scope_visi from VALUE to
7763	  rb_scope_visibility_t.
7764	  [Bug #11219]
7765
7766	* vm.c (vm_cref_new): accept rb_method_visibility_t directly.
7767
7768	* vm_insnhelper.c (rb_vm_rewrite_cref): don't use 0,
7769	  but METHOD_VISI_UNDEF.
7770
7771	* vm_method.c (rb_scope_visibility_set): don't need to use cast.
7772
7773	* vm_method.c (rb_scope_module_func_set): ditto.
7774
7775Fri Jun  5 17:27:30 2015  Eric Wong  <e@80x24.org>
7776
7777	* ext/socket/ancdata.c (bsock_sendmsg_internal): avoid msg_control
7778	  ptr if msg_controllen is zero to fix portability problems.
7779
7780Fri Jun  5 09:17:45 2015  Eric Wong  <e@80x24.org>
7781
7782	* ext/socket/ancdata.c (bsock_sendmsg_internal): fix build error
7783	  from r50776
7784
7785Fri Jun  5 07:05:58 2015  Eric Wong  <e@80x24.org>
7786
7787	* io.c (sym_wait_readable, sym_wait_writable): declare
7788	  (io_getpartial): use sym_wait_readable
7789	  (io_write_nonblock): use sym_wait_writable
7790	  (Init_IO): initialize sym_wait_*able
7791
7792Fri Jun  5 06:43:00 2015  Eric Wong  <e@80x24.org>
7793
7794	* doc/extension.rdoc: note rb_get_kwargs changes keywords_hash
7795	  [ruby-core:68507]
7796
7797Fri Jun  5 05:50:29 2015  Eric Wong  <e@80x24.org>
7798
7799	* ext/socket/ancdata.c (bsock_sendmsg_internal): use rb_scan_args
7800	  [ruby-core:69439] [Feature #11207]
7801
7802Fri Jun  5 02:20:06 2015  Koichi Sasada  <ko1@atdot.net>
7803
7804	* test/lib/envutil.rb (assert_no_memory_leak): change default value
7805	  of limit from 1.5 to 2.0. It is ad-hoc fix to solve test failure
7806	  in travis-ci.
7807
7808Fri Jun  5 01:17:21 2015  Koichi Sasada  <ko1@atdot.net>
7809
7810	* vm_insnhelper.c (vm_defined): no need to use cast.
7811
7812Fri Jun  5 01:14:02 2015  Koichi Sasada  <ko1@atdot.net>
7813
7814	* vm_insnhelper.c (vm_defined): show additional messages on rb_bug().
7815
7816Fri Jun  5 01:06:02 2015  Koichi Sasada  <ko1@atdot.net>
7817
7818	* vm_method.c (rb_add_method_iseq): use intermediate struct to
7819	  avoid initializing struct with variables.
7820	  [Bug #11217]
7821
7822	* method.h: add a comment about it.
7823
7824Fri Jun  5 00:55:21 2015  Koichi Sasada  <ko1@atdot.net>
7825
7826	* method.h: constify rb_method_refined_t::orig_me.
7827
7828	  Also constify the following functions.
7829
7830	  * rb_resolve_refined_method()
7831	  * rb_method_entry_with_refinements()
7832	  * rb_method_entry_without_refinements()
7833	  * rb_method_entry_copy()'s parameter.
7834
7835	* class.c: catch up this fix.
7836
7837	* vm_insnhelper.c: ditto.
7838
7839	* vm_method.c: ditto.
7840
7841Thu Jun  4 12:47:54 SGT 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7842
7843	* array.c: Revert r50763. because "reentered" is not typo.
7844
7845Thu Jun  4 11:12:29 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7846
7847	* ext/win32ole/win32ole.c: fix a typo. Patch by @davydovanton
7848	  [fix GH-923]
7849	* include/ruby/st.h: ditto.
7850	* include/ruby/util.h: ditto.
7851
7852Thu Jun  4 10:54:30 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
7853
7854	* array.c: fix a typo. Patch by @manish-shrivastava
7855	  [fix GH-922]
7856
7857Thu Jun  4 09:52:02 2015  Eric Wong  <e@80x24.org>
7858
7859	* ext/openssl/lib/openssl/ssl.rb: use io/nonblock instead of fcntl
7860	  [ruby-core:69382] [Feature #11190]
7861
7862Thu Jun  4 07:22:45 2015  Koichi Sasada  <ko1@atdot.net>
7863
7864	* method.h: introduce rb_method_refined_t for refined method entry.
7865
7866	* class.c (move_refined_method): catch up this fix.
7867
7868	* gc.c (mark_method_entry): ditto.
7869
7870	* vm_eval.c (vm_call0_body): ditto.
7871
7872	* vm_insnhelper.c (vm_call_method): ditto.
7873
7874	* vm_method.c: ditto.
7875
7876Thu Jun  4 07:12:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
7877
7878	* dir.c (dirent_match): match short names only when FNM_SHORTNAME
7879	  flag is given, for the backward compatibility, and the new
7880	  behavior is often dangerous.  [ruby-core:69435] [Bug #11206]
7881
7882Thu Jun  4 05:44:01 2015  Eric Wong  <e@80x24.org>
7883
7884	* variable.c (special_generic_ivar): remove flag
7885	  (givar_i, rb_mark_generic_ivar_tbl): remove functions
7886	  (rb_free_generic_ivar, rb_ivar_lookup, rb_ivar_delete,
7887	   generic_ivar_set, rb_ivar_set, rb_ivar_defined,
7888	   rb_copy_generic_ivar, rb_ivar_foreach, rb_ivar_count,
7889	   rb_obj_remove_instance_variable):
7890	   adjust for lack of ivar support in special constants
7891	* test/ruby/test_variable.rb: test ivars for special consts
7892	* internal.h: remove rb_mark_generic_ivar_tbl decl
7893	* gc.c (gc_mark_roots): remove rb_mark_generic_ivar_tbl call
7894	  [ruby-core:69441] [Feature #11208]
7895
7896Thu Jun  4 05:13:34 2015  Koichi Sasada  <ko1@atdot.net>
7897
7898	* vm_insnhelper.c (def_iseq_ptr): `iseqval' is not available any more.
7899
7900Thu Jun  4 04:50:12 2015  Koichi Sasada  <ko1@atdot.net>
7901
7902	* class.c (method_entry_i): mtbl should not have `me' as NULL.
7903
7904Thu Jun  4 04:28:45 2015  Koichi Sasada  <ko1@atdot.net>
7905
7906	* class.c (clone_method): do not use me->klass, but use explicitly
7907	  passed argument.
7908
7909Thu Jun  4 04:10:43 2015  Koichi Sasada  <ko1@atdot.net>
7910
7911	* vm_core.h (rb_vm_rewrite_cref_stack): rename to rb_vm_rewrite_cref().
7912
7913	* class.c (clone_method): use renamed name.
7914
7915	* vm_insnhelper.c (rb_vm_rewrite_cref): do not use `node' in variable
7916	  names.
7917
7918Wed Jun  3 23:03:50 2015  Koichi Sasada  <ko1@atdot.net>
7919
7920	* vm_method.c: rename `rb_frame_...' to `rb_scope_...'.
7921
7922	* eval_intern.h: move decl. of rb_scope_visibility_set() to method.h.
7923
7924	* load.c: catch up this fix.
7925
7926Wed Jun  3 21:14:20 2015  Tanaka Akira  <akr@fsij.org>
7927
7928	* ext/rbconfig/sizeof/extconf.rb: Check C99 standard integer types.
7929
7930Wed Jun  3 21:00:47 2015  Tanaka Akira  <akr@fsij.org>
7931
7932	* configure.in: Don't check __int128.
7933
7934	* ext/rbconfig/sizeof/extconf.rb: Check __int128.
7935
7936	* ext/rbconfig/sizeof/depend: sizes.c depends on
7937	  ext/rbconfig/sizeof/extconf.rb.
7938
7939	* template/sizes.c.tmpl: Detect check_sizeof.
7940
7941Wed Jun  3 20:07:07 2015  Koichi Sasada  <ko1@atdot.net>
7942
7943	* class.c (clone_method): remove redundant check for me->def != NULL.
7944	  Now, all `me` have `me->def`.
7945
7946	* proc.c (rb_method_entry_location): ditto.
7947
7948	* vm.c (rb_vm_check_redefinition_opt_method): ditto.
7949
7950	* vm.c (add_opt_method): ditto.
7951
7952	* vm_eval.c (vm_call0_body): ditto.
7953
7954Wed Jun  3 19:24:12 2015  Koichi Sasada  <ko1@atdot.net>
7955
7956	* vm_core.h: rename enum missing_reason to enum method_missing_reason.
7957
7958	* vm_core.h: use enum method_missing_reason for
7959	  rb_thread_t::method_missing_reason.
7960
7961	* vm_eval.c: catch up this fix.
7962
7963	* vm_insnhelper.c: ditto.
7964
7965Wed Jun  3 16:17:21 2015  Aaron Patterson <tenderlove@ruby-lang.org>
7966
7967	* vm.c: eagerly allocate `loading_table`.  This eliminates the need to
7968	  do NULL checks when looking up the `loading_table` hash.
7969	  https://github.com/ruby/ruby/pull/918
7970
7971	* load.c: remove various NULL checks
7972
7973Wed Jun  3 11:47:15 2015  Koichi Sasada  <ko1@atdot.net>
7974
7975	* method.h: change fields order to gather frequent access fields.
7976
7977	* vm_insnhelper.c (vm_call_method): add LIKELY().
7978
7979Wed Jun 03 10:35:45 2015  Koichi Sasada  <ko1@atdot.net>
7980
7981	* method.h: split rb_method_definition_t::flag to several flags.
7982
7983	  `flag' contains several categories of attributes and it makes us
7984	  confusion (at least, I had confused).
7985
7986	  * rb_method_visibility_t (flags::visi)
7987	    * NOEX_UNDEF     -> METHOD_VISI_UNDEF     = 0
7988	    * NOEX_PUBLIC    -> METHOD_VISI_PUBLIC    = 1
7989	    * NOEX_PRIVATE   -> METHOD_VISI_PRIVATE   = 2
7990	    * NOEX_PROTECTED -> METHOD_VISI_PROTECTED = 3
7991	  * NOEX_SAFE(flag)  -> safe (flags::safe, 3 bits)
7992	  * NOEX_BASIC       -> basic (flags::basic, 1 bit)
7993	  * NOEX_MODFUNC     -> rb_scope_visibility_t in CREF
7994	  * NOEX_SUPER       -> MISSING_SUPER (enum missing_reason)
7995	  * NOEX_VCALL       -> MISSING_VCALL (enum missing_reason)
7996	  * NOEX_RESPONDS    -> BOUND_RESPONDS (macro)
7997
7998	  Now, NOEX_NOREDEF is not supported (I'm not sure it is needed).
7999
8000	  Background:
8001	    I did not know what "NOEX" stands for.
8002	    I asked Matz (who made this name) and his answer was "Nothing".
8003	    "At first, it meant NO EXport (private), but the original
8004	    meaning was gone."
8005	    This is why I remove the mysterious word "NOEX" from MRI.
8006
8007	* vm_core.h: introduce `enum missing_reason' to represent
8008	  method_missing (NoMethodError) reason.
8009
8010	* eval_intern.h: introduce rb_scope_visibility_t to represent
8011	  scope visibility.
8012	  It has 3 method visibilities (public/private/protected)
8013	  and `module_function`.
8014
8015Wed Jun  3 08:06:30 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8016
8017	* gem/bundled_gems: updated to test-unit 3.1.1 and minitest 5.7.0.
8018
8019Wed Jun  3 04:48:05 2015  Koichi Sasada  <ko1@atdot.net>
8020
8021	* vm_insnhelper.c (vm_defined): check respond_to_missing?
8022	  at defined?(func()).
8023	  [Bug #11212]
8024
8025	* test/ruby/test_defined.rb: add a test for this fix.
8026
8027Wed Jun  3 04:34:39 2015  Koichi Sasada  <ko1@atdot.net>
8028
8029	* vm_insnhelper.c (vm_defined): skip respond_to_missing? when
8030	  a method is available.
8031	  [Bug #11211]
8032
8033	* test/ruby/test_defined.rb: add a test for this fix.
8034
8035Wed Jun  3 04:14:13 2015  Koichi Sasada  <ko1@atdot.net>
8036
8037	* insns.def (defined), vm_insnhelper.c (vm_defined):
8038	  move instruction body to the vm_defined() function.
8039
8040Wed Jun  3 02:29:25 2015  Benoit Daloze  <eregontp@gmail.com>
8041
8042	* test/ruby/test_module.rb: Do not assume class variable order.
8043	  Patch by @enebo.
8044
8045Wed Jun  3 01:10:38 2015  Yusuke Endoh  <mame@tsg.ne.jp>
8046
8047	* vm_method.c (rb_method_definition_set): remove a double assignment.
8048	  Coverity Scan found this bug.
8049
8050Wed Jun  3 00:04:51 2015  Koichi Sasada  <ko1@atdot.net>
8051
8052	* vm_method.c (rb_alias): rename parameter names.
8053
8054Tue Jun  2 23:27:18 2015  Koichi Sasada  <ko1@atdot.net>
8055
8056	* method.h: remove rb_method_iseq_t::iseqval.
8057	  While making a r50728, iseqval is needed (to mark correctly),
8058	  but now just iseqptr is enough.
8059
8060	* class.c: catch up this fix.
8061
8062	* gc.c: ditto.
8063
8064	* proc.c: ditto.
8065
8066	* vm_method.c: ditto.
8067
8068Tue Jun  2 21:29:28 2015  Koichi Sasada  <ko1@atdot.net>
8069
8070	* proc.c (proc_curry): remove a debug line.
8071
8072Tue Jun  2 12:43:46 2015  Koichi Sasada  <ko1@atdot.net>
8073
8074	* method.h: make rb_method_entry_t a VALUE.
8075	  Motivation and new data structure are described in [Bug #11203].
8076
8077	  This patch also solve the following issues.
8078
8079	  * [Bug #11200] Memory leak of method entries
8080	  * [Bug #11046] __callee__ returns incorrect method name in orphan
8081	                 proc
8082
8083	* test/ruby/test_method.rb: add a test for [Bug #11046].
8084
8085	* vm_core.h: remove rb_control_frame_t::me. me is located at value
8086	  stack.
8087
8088	* vm_core.h, gc.c, vm_method.c: remove unlinked_method... codes
8089	  because method entries are simple VALUEs.
8090
8091	* method.h: Now, all method entries has own independent method
8092	  definitions. Strictly speaking, this change is not essential,
8093	  but for future changes.
8094
8095	  * rb_method_entry_t::flag is move to rb_method_definition_t::flag.
8096	  * rb_method_definition_t::alias_count is now
8097	    rb_method_definition_t::alias_count_ptr, a pointer to the counter.
8098
8099	* vm_core.h, vm_insnhelper.c (rb_vm_frame_method_entry) added to
8100	  search the current method entry from value stack.
8101
8102	* vm_insnhelper.c (VM_CHECK_MODE): introduced to enable/disable
8103	  assertions.
8104
8105Tue Jun  2 10:46:36 2015  Eric Wong  <e@80x24.org>
8106
8107	* test/socket/test_nonblock.rb: new test for sendmsg_nonblock
8108
8109Tue Jun  2 09:04:14 2015  Eric Wong  <e@80x24.org>
8110
8111	* lib/benchmark.rb: just use Process::CLOCK_MONOTONIC
8112	  [ruby-core:69390]
8113
8114Mon Jun  1 22:01:27 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8115
8116	* lib/mkmf.rb (pkg_config): split --libs if --libs-only-l option
8117	  is not available.  patch in [ruby-core:69428] by Hans Mackowiak.
8118	  [ruby-core:69421] [Bug #11201]
8119
8120Mon Jun  1 21:18:24 2015  Koichi Sasada  <ko1@atdot.net>
8121
8122	* gc.c (gc_mark_children): remove a garbage character
8123	  introduced at the last commit.
8124
8125Mon Jun  1 19:24:42 2015  Koichi Sasada  <ko1@atdot.net>
8126
8127	* vm_method.c (rb_method_entry_make): do not show warning message
8128	  when method_entry is an alias.
8129
8130Mon Jun  1 15:47:16 2015  Koichi Sasada  <ko1@atdot.net>
8131
8132	* internal.h: move class related definitions.
8133
8134Mon Jun  1 15:43:03 2015  Koichi Sasada  <ko1@atdot.net>
8135
8136	* class.c: remove needless include pragma for method.h.
8137
8138	* struct.c: ditto.
8139
8140	* vm_method.c: ditto.
8141
8142Mon Jun  1 05:42:00 2015  Koichi Sasada  <ko1@atdot.net>
8143
8144	* eval_intern.h, vm_method.c: move macros to functions.
8145	  * SCOPE_TEST(f)  -> rb_frame_visibility_test(flag).
8146	  * SCOPE_CHECK(f) -> rb_frame_visibility_check(flag).
8147	  * SCOPE_SET(f)   -> rb_frame_visibility_set(flag).
8148
8149	* load.c (load_ext): use it.
8150
8151Mon Jun  1 04:47:37 2015  Zachary Scott  <e@zzak.io>
8152
8153	* ext/date/date_core.c: [DOC] Add comparison of Time and DateTime
8154	  Patch provided by @pixeltrix
8155
8156Mon Jun  1 04:22:09 2015  Koichi Sasada  <ko1@atdot.net>
8157
8158	* vm_core.h (VM_FRAME_MAGIC_DUMMY): introduce new frame type to
8159	  recognize dummy frame.
8160
8161	* vm.c (th_init): use new frame type.
8162
8163	* vm_args.c (raise_argument_error): ditto.
8164
8165Mon Jun  1 04:15:42 2015  Koichi Sasada  <ko1@atdot.net>
8166
8167	* class.c (rb_class_has_methods): added to reduce dependency
8168	  to internal class data structure.
8169
8170	* internal.h: ditto.
8171
8172	* hash.c (has_extra_methods): use added function.
8173
8174Mon Jun  1 04:11:48 2015  Koichi Sasada  <ko1@atdot.net>
8175
8176	* gc.c , gc.h (rb_obj_info): export obj_info(VALUE) for debugging.
8177
8178Mon Jun  1 03:52:55 2015  Koichi Sasada  <ko1@atdot.net>
8179
8180	* test/ruby/test_gc.rb: increase timeout seconds for GC stressful
8181	  debugging.
8182
8183Sun May 31 04:18:06 2015  Koichi Sasada  <ko1@atdot.net>
8184
8185	* method.h: fix typo of comments.
8186
8187Sun May 31 03:36:42 2015  Koichi Sasada  <ko1@atdot.net>
8188
8189	* method.h: add VM_METHOD_TYPE_ALIAS rb_method_definition_t::type
8190	  to fix [Bug #11173].
8191
8192	  Now, inter class/method alias creates new method entry
8193	  VM_METHOD_TYPE_ALIAS, which has an original method entry.
8194
8195	* vm_insnhelper.c (find_defined_class_by_owner): added.
8196	  Search corresponding defined_class from owner class/module.
8197
8198	* vm_method.c (rb_method_entry_get_without_cache): return me->klass
8199	  directly for defined_class.
8200
8201	  Now, no need to check me->klass any more.
8202
8203	* vm_method.c (method_entry_set0): separated from method_entry_set().
8204
8205	* vm_method.c (rb_alias): make method entry has VM_METHOD_TYPE_ALIAS.
8206
8207	* vm_method.c (release_method_definition): support VM_METHOD_TYPE_ALIAS.
8208
8209	* vm_method.c (rb_hash_method_definition): ditto.
8210
8211	* vm_method.c (rb_method_definition_eq): ditto.
8212
8213	* vm_method.c (release_method_definition): ditto.
8214
8215	* vm_insnhelper.c (vm_call_method): ditto.
8216
8217	* vm_insnhelper.c (vm_method_cfunc_entry): ditto.
8218
8219	* vm_eval.c (vm_call0_body): ditto.
8220
8221	* gc.c (mark_method_entry): ditto.
8222
8223	* proc.c (method_def_iseq): ditto.
8224
8225	* proc.c (method_cref): ditto.
8226
8227	* proc.c (rb_method_entry_min_max_arity): ditto.
8228
8229	* test/ruby/test_alias.rb: add tests.
8230
8231	* test/ruby/test_module.rb: fix a test to catch up current behavior.
8232
8233Sun May 31 03:34:25 2015  Koichi Sasada  <ko1@atdot.net>
8234
8235	* vm_method.c (rb_unlink_method_entry): make it static.
8236
8237Sun May 31 03:26:58 2015  Koichi Sasada  <ko1@atdot.net>
8238
8239	* method.h, vm_method.c (rb_free_method_entry): constify a parameter.
8240
8241	* vm_core.h: remove useless declaration about rb_unlink_method_entry().
8242
8243Sat May 30 18:05:02 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8244
8245	* lib/tempfile.rb (Remover#call): fixed wrong condition.  introduced at
8246	  r50682.
8247
8248Sat May 30 16:12:35 2015  Eric Wong  <e@80x24.org>
8249
8250	* ext/socket/ancdata.c: use RB_GC_GUARD instead of volatile
8251	  [ruby-core:69419] [Feature #11198]
8252
8253Sat May 30 15:59:10 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8254
8255	* lib/tempfile.rb (Tempfile#initialize): initialize @unlinked to fix
8256	  test failures introduced at r50682.  I hope that check the results of
8257	  tests before committing, at least the tests about the changed feature.
8258
8259Sat May 30 11:02:55 2015  Martin Englund <martin@englund.nu>
8260
8261	* doc/dtrace_probes.rdoc: change lingering dtrace probe documentation
8262	  from function- to method-
8263
8264Sat May 30 10:26:09 2015  Masaki Matsushita <glass.saga@gmail.com>
8265
8266	* lib/tempfile.rb: refactoring.
8267	  * use warn instead of STDERR.print
8268	  * remove @tmpname and use @tmpfile.path
8269	  * introduce @unlinked flag
8270	  * Remover takes only @tmpfile
8271	  * mode will be modified just before file reopen
8272
8273Sat May 30 09:02:51 2015  Eric Wong  <e@80x24.org>
8274
8275	* include/ruby/intern.h (rb_generic_ivar_table): deprecate
8276	* internal.h (rb_attr_delete): declare
8277	* marshal.c (has_ivars): use rb_ivar_foreach
8278	  (w_ivar): ditto
8279	  (w_object): update for new interface
8280	* time.c (time_mload): use rb_attr_delete
8281	* variable.c (generic_ivar_delete): implement
8282	  (rb_ivar_delete): ditto
8283	  (rb_attr_delete): ditto
8284	  [ruby-core:69323] [Feature #11170]
8285
8286Sat May 30 09:14:28 2015  Scott Francis  <scott.francis@shopify.com>
8287
8288	* cont.c (cont_free): check if ruby_current_thread is still valid.
8289	  [Fix GH-914]
8290
8291Sat May 30 08:36:04 2015  Eric Wong  <e@80x24.org>
8292
8293	* variable.c (static int special_generic_ivar): move
8294	  (rb_generic_ivar_table): rewrite for compatibility
8295	  (gen_ivtbl_bytes): new function
8296	  (generic_ivar_get): update to use ivar index
8297	  (generic_ivar_update): ditto
8298	  (generic_ivar_set): ditto
8299	  (generic_ivar_defined): ditto
8300	  (generic_ivar_remove): ditto
8301	  (rb_mark_generic_ivar): ditto
8302	  (givar_i): ditto
8303	  (rb_free_generic_ivar): ditto
8304	  (rb_mark_generic_ivar_tbl): ditto
8305	  (rb_generic_ivar_memsize): ditto
8306	  (rb_copy_generic_ivar): ditto
8307	  (rb_ivar_set): ditto
8308	  (rb_ivar_foreach): ditto
8309	  (rb_ivar_count): ditto
8310	  (givar_mark_i): remove
8311	  (gen_ivtbl_mark): new function
8312	  (gen_ivar_each): ditto
8313	  (iv_index_tbl_extend): update for struct ivar_update
8314	  (iv_index_tbl_newsize): ditto
8315	  [ruby-core:69323] [Feature #11170]
8316
8317Sat May 30 08:10:46 2015  Eric Wong  <e@80x24.org>
8318
8319	* variable.c (iv_index_tbl_make): extract from rb_ivar_set
8320	  (iv_index_tbl_extend): ditto
8321	  (iv_index_tbl_newsize): ditto
8322	  (rb_ivar_set): use extracted functions
8323	  [ruby-core:69323] (Part 1)
8324
8325Fri May 29 17:39:14 2015  Koichi Sasada  <ko1@atdot.net>
8326
8327	* tool/make_hgraph.rb: added.
8328
8329Fri May 29 14:39:00 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8330
8331	* compile.c (iseq_compile_each): out of range NTH_REF is always
8332	  nil.
8333
8334	* parse.y (parse_numvar): check overflow of NTH_REF and range.
8335	  [ruby-core:69393] [Bug #11192]
8336
8337	* util.c (ruby_scan_digits): make public and add length parameter.
8338
8339Fri May 29 11:18:58 2015  Eric Wong  <e@80x24.org>
8340
8341	* ext/socket/ancdata.c (bsock_sendmsg_internal,
8342	  bsock_recvmsg_internal):
8343	  avoid redundant fcntl on Linux
8344	  [ruby-core:69154] [Feature #11145]
8345	* ext/socket/init.c (rsock_s_recvfrom_nonblock): ditto
8346	* ext/socket/rubysocket.h (MSG_DONTWAIT_RELIABLE): new macro
8347
8348Fri May 29 10:30:34 2015  Eric Wong  <e@80x24.org>
8349
8350	* lib/net/resolv.rb (request): use monotonic clock
8351	* lib/net/http.rb (begin_transport, end_transport): ditto
8352	  [ruby-core:69384] [Feature #11124]
8353
8354Fri May 29 04:37:38 2015  Koichi Sasada  <ko1@atdot.net>
8355
8356	* ext/objspace/objspace.c: add two methods to debug internals.
8357
8358	  * ObjectSpace.internal_class_of: return RBASIC_CLASS(obj).
8359	  * ObjectSpace.internal_super_of: return RCLASS_SUPER(cls).
8360
8361	* NEWS: add information about both methods.
8362
8363	* test/objspace/test_objspace.rb: add tests for both methods.
8364
8365Thu May 28 06:55:53 2015  Anton Davydov  <antondavydov.o@gmail.com>
8366
8367	* ext/tk/sample/figmemo_sample.rb (open_file),
8368	  ext/tk/sample/tktextio.rb (TkTextIO): fix typo in messages.
8369	  [Fix GH-916]
8370
8371Wed May 27 09:50:51 2015  Eric Wong  <e@80x24.org>
8372
8373	* ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,
8374	  ossl_asn1_decode_all): use RB_GC_GUARD instead of volatile
8375	  [ruby-core:69371] [Bug #11185]
8376
8377Wed May 27 09:27:30 2015  Eric Wong  <e@80x24.org>
8378
8379	* lib/drb/drb.rb (set_sockopt): remove redundant fcntl call
8380	* lib/drb/unix.rb (set_sockopt): ditto
8381	  [ruby-core:69128] [Feature #11137]
8382
8383Tue May 26 22:10:43 2015  Shugo Maeda  <shugo@ruby-lang.org>
8384
8385	* vm_method.c (rb_alias): should resolve refined methods.
8386	  [ruby-core:69360] [Bug #11182]
8387
8388Tue May 26 21:35:13 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
8389
8390	* include/ruby/defines.h (RUBY_ATTR_ALLOC_SIZE): fix condition.
8391
8392Mon May 25 22:35:58 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8393
8394	* tool/redmine-backporter.rb (rel): after the relations is changed,
8395	  @changesets is no longer right.
8396
8397Mon May 25 11:27:14 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8398
8399	* win32/win32.c (setup_overlapped): seek to the file end only when
8400	  writing (mode:a), not reading (mode:a+, read).
8401
8402Mon May 25 00:27:37 2015  Benoit Daloze  <eregontp@gmail.com>
8403
8404	* numeric.c (Numeric#negative?): [DOC] Fix call-seq.
8405	  Patch by @yui-knk. [Fixes GH-908]
8406
8407Sun May 24 01:35:22 2015  Koichi Sasada  <ko1@atdot.net>
8408
8409	* debug.c (ruby_debug_print_id): use rb_id2name() for fprintf().
8410
8411Sat May 23 18:38:46 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8412
8413	* man/*.1: updated dates in man pages.
8414	  [ruby-dev:48988] [Bug #11171]
8415
8416Sat May 23 03:10:58 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8417
8418	* win32/win32.c (rb_w32_write_console): should return the count of
8419	  actually eaten characters, include escape sequences.
8420
8421Fri May 22 22:36:14 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
8422
8423	* lib/prime.rb: Remove obsolete Prime.new
8424	  patch by Ajay Kumar. [Fixes GH-891]
8425
8426Fri May 22 21:13:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8427
8428	* include/ruby/intern.h (rb_sym_count): move `rb_sym_all_symbols`
8429	  to a symbol.c specific section.  a part of patch by Lourens
8430	  Naude.
8431
8432Fri May 22 20:56:33 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8433
8434	* complex.c (f_complex_polar): simple bug reproduced only when y is
8435	  a float but x is not a float.
8436
8437Fri May 22 19:42:06 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8438
8439	* process.c (rb_spawn_process): do not discard global escape
8440	  status.  [ruby-core:69304] [Bug #11166]
8441
8442	* process.c (rb_execarg_spawn): extract the start procedure in a
8443	  parent process with ensuring the end procedure.
8444
8445Fri May 22 16:48:32 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8446
8447	* NEWS: added news for net-telnet and rake
8448
8449Thu May 21 20:27:07 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8450
8451	* configure.in (RUBY_DTRACE_POSTPROCESS): cmp -b is GNU extension.
8452	  darwin uses GNU cmp, and FreeBSD and Solaris are not.
8453	  Note that accidentally equals to expected result.
8454
8455Thu May 21 18:00:19 2015  Koichi Sasada  <ko1@atdot.net>
8456
8457	* iseq.c: constify.
8458
8459	* iseq.h: ditto.
8460
8461	* method.h: ditto.
8462
8463	* proc.c: ditto.
8464
8465	* vm_method.c: ditto.
8466
8467Thu May 21 17:44:53 2015  Koichi Sasada  <ko1@atdot.net>
8468
8469	* proc.c: fix issues caused by binding created from Method#to_proc.
8470	  [Bug #11163]
8471
8472	* vm.c (vm_cref_new_toplevel): export as rb_vm_cref_new_toplevel().
8473
8474	* test/ruby/test_method.rb: add some assertions.
8475
8476Thu May 21 17:29:26 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8477
8478	* lib/matrix.rb: added documentation for Matrix#empty and Matrix#/
8479	  [Feature #10070][ruby-dev:48433] Patch by @gogotanaka
8480
8481Thu May 21 17:02:43 2015  Koichi Sasada  <ko1@atdot.net>
8482
8483	* proc.c: rename functions.
8484	  * method_get_def() -> method_def()
8485	  * method_get_iseq() -> method_def_iseq()
8486	  * method_get_cref() -> method_cref()
8487
8488Thu May 21 16:52:44 2015  Koichi Sasada  <ko1@atdot.net>
8489
8490	* proc.c (rb_method_get_iseq): rename to rb_method_iseq.
8491
8492	* iseq.c: catch up this fix.
8493
8494	* iseq.h: commit ditto.
8495
8496Thu May 21 15:41:45 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8497
8498	* lib/net/telnet.rb: gemify net-telnet.
8499	  [Feature #11083]
8500	* gems/bundled_gems: added net-telnet to bundled gems.
8501
8502Thu May 21 15:37:32 2015  Zachary Scott  <e@zzak.io>
8503
8504	* vm_method.c: Remove private attribute warning [Bug #10967]
8505	  Patch by @spastorino [Fixes GH-849]
8506	  https://github.com/ruby/ruby/pull/849
8507
8508	* test/ruby/test_module.rb: Update test for changes
8509
8510Thu May 21 10:59:43 2015  Koichi Sasada  <ko1@atdot.net>
8511
8512	* proc.c (method_proc): rename to method_to_proc.
8513
8514Thu May 21 10:51:54 2015  Jake Worth  <jakeworth82@gmail.com>
8515
8516	* io.c (rb_f_select): [DOC] Fixes for grammar and style.
8517	  [Fix GH-906]
8518
8519Thu May 21 08:25:19 2015  Eric Wong  <e@80x24.org>
8520
8521	* variable.c (Init_var_tables): init generic_iv_tbl
8522	  (rb_generic_ivar_table, generic_ivar_get, generic_ivar_set,
8523	   generic_ivar_defined, generic_ivar_remove,
8524	   rb_mark_generic_ivar, givar_i, rb_mark_generic_ivar_tbl,
8525	   rb_free_generic_ivar, rb_copy_generic_ivar, rb_ivar_foreach,
8526	   rb_ivar_count): remove checks for uninitialize generic_iv_tbl
8527	[ruby-core:69155] [Feature #11146]
8528
8529Thu May 21 04:11:03 2015  Koichi Sasada  <ko1@atdot.net>
8530
8531	* iseq.c (exception_type2symbol): show correct bug message.
8532
8533Wed May 20 23:19:05 2015  Yusuke Endoh  <mame@ruby-lang.org>
8534
8535	* lib/base64.rb: Fix rdoc-formatting for padding argument.
8536	  [fix GH-905][ci skip] Patch by @davydovanton
8537
8538Wed May 20 13:16:23 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8539
8540	* configure.in (DEPRECATED_BY): deprecate warning with preferable
8541	  alternative.
8542
8543	* configure.in (RUBY_FUNC_ATTRIBUTE): allow attribute arguments in
8544	  the macro.
8545
8546Wed May 20 11:23:24 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8547
8548	* vm_dump.c (rb_print_backtrace): return value of libexec's backtrace
8549	  is size_t, so simply cast as int.
8550
8551Tue May 19 18:54:41 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8552
8553	* iseq.c (rb_iseq_compile_with_option): check source type, must be
8554	  an IO or a String.  [ruby-core:69219] [Bug #11159]
8555
8556Tue May 19 17:15:03 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8557
8558	* lib/benchmark.rb: Update Benchmark documentation and formatting.
8559	  [fix GH-903][ci skip] Patch by @davydovanton
8560
8561Tue May 19 13:10:08 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8562
8563	* numeric.c (num_positive_p): should false on Bignum 0.
8564	  http://twitter.com/rafaelfranca/status/600509783427391488
8565	  [ruby-core:69173] [Feature #11151]
8566
8567Tue May 19 11:22:28 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8568
8569	* lib/uri/rfc2396_parser.rb (initialize_pattern):
8570	  URI::Generic.build should accept port as a string.
8571	  pattern[:PORT] is not defined for long.
8572	  by Dave Slutzkin <daveslutzkin@fastmail.fm>
8573	  https://github.com/ruby/ruby/pull/804 fix GH-804
8574
8575Tue May 19 11:18:46 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8576
8577	* include/ruby/ruby.h (rb_data_typed_object_alloc),
8578	  (rb_data_object_alloc): add old names for source level backward
8579	  compatibilities.
8580
8581	* gc.c (rb_data_object_alloc, rb_data_typed_object_alloc): add
8582	  aliases for binary level backward compatibilities.
8583
8584Tue May 19 09:54:44 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8585
8586	* include/ruby/ruby.h (Data_Make_Struct0): needs function pointer
8587	  casts to fix function overloading in C++.
8588
8589Tue May 19 09:43:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8590
8591	* include/ruby/ruby.h (Data_Make_Struct0, TypedData_Make_Struct0):
8592	  explicit cast from void* is necessary as implicit cast is
8593	  disallowed in C++.
8594
8595Mon May 18 15:31:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8596
8597	* include/ruby/intern.h (rb_f_notimplement): should not respond to
8598	  not-implemented methods.  as the address inside a DLL and the
8599	  imported address are different on Windows, use an exported
8600	  variable to share the same address.
8601
8602Mon May 18 13:55:01 2015  Shugo Maeda  <shugo@ruby-lang.org>
8603
8604	* lib/monitor.rb (mon_try_enter, mon_enter): should reset @mon_count
8605	  just in case the previous owner thread dies without mon_exit.
8606	  [fix GH-874] Patch by @chrisberkhout
8607
8608Sun May 17 17:21:29 2015  Eric Wong  <e@80x24.org>
8609
8610	* lib/webrick/utils.rb (set_non_blocking): use IO#nonblock=
8611	* (set_close_on_exec): use IO#close_on_exec=
8612	  [Feature #11136]
8613
8614Sun May 17 15:01:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8615
8616	* numeric.c (num_positive_p, num_negative_p): add methods
8617	  Numeric#positive? and Numeric#negative?.
8618	  [ruby-core:69173] [Feature #11151]
8619
8620	* numeric.c (flo_positive_p, flo_negative_p): specialized
8621	  functions for Float.
8622
8623	* complex.c (Init_Complex): Complex do not have positive? and
8624	  negative? methods
8625
8626Sun May 17 14:57:42 2015  Eric Wong  <e@80x24.org>
8627
8628	* lib/webrick/server.rb (accept_client): avoid redundant fcntl call
8629	  [Feature #11137]
8630
8631Sun May 17 12:13:33 2015  Eric Wong  <e@80x24.org>
8632
8633	* ext/socket/init.c (cloexec_accept): support nonblock flag and
8634	  use SOCK_NONBLOCK if possible
8635	* ext/socket/init.c (rsock_s_accept_nonblock):
8636	  update cloexec_accept call
8637	* ext/socket/init.c (accept_blocking): ditto for blocking
8638	* test/socket/test_nonblock.rb: check nonblock? on accepted socket
8639	  [Feature #11138]
8640
8641Sun May 17 03:58:59 2015  Aaron Patterson <tenderlove@ruby-lang.org>
8642
8643	* load.c (loaded_feature_path): stop returning false negatives for
8644	  filenames which are trailing substrings of file extensions.  For
8645	  example, 'b', which a trailing substring of ".rb" should not return
8646	  false. [Bug #11155][ruby-core:69206]
8647
8648	* test/ruby/test_autoload.rb: test for fix
8649
8650Sat May 16 21:41:24 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8651
8652	* string.c: added documentation for character sequence \' with String#sub
8653	  [Bug #11132][ruby-core:69121][fix GH-900][ci skip] Patch by @shishir127
8654
8655Sat May 16 21:38:05 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8656
8657	* enum.c: fix a sample code. Patch by @eagletmt
8658	  [fix GH-901][ci skip]
8659
8660Sat May 16 21:17:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8661
8662	* gc.c (rb_data_object_wrap, rb_data_typed_object_wrap): rename
8663	  alloc as wrap.  these functions do not allocate data pointers
8664	  but just wrap the given pointers.
8665
8666Sat May 16 19:59:24 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8667
8668	* win32/win32.c (rb_w32_accept): simplified.
8669
8670Fri May 15 18:28:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8671
8672	* array.c (rb_ary_assoc, rb_ary_rassoc): [DOC] the result when key
8673	  was found is the existing element, not a new array.  reported by
8674	  Giau Nguyen <giaunv AT nustechnology.com>.
8675
8676Fri May 15 08:24:28 2015  Takeyuki FUJIOKA  <xibbar@ruby-lang.org>
8677
8678	* lib/cgi/cookie.rb: Implement HttpOnly flag for cookies.
8679	  [fix GH-887] Patch by @martinpovolny
8680
8681Fri May 15 06:54:19 2015  Aaron Patterson <tenderlove@ruby-lang.org>
8682
8683	* variable.c: Change autoload to call `require` through Ruby rather
8684	  than directly calling `rb_require_safe`.  This allows things like
8685	  RubyGems to intercept file loading done though `autoload`.
8686	  [Feature #11140]
8687
8688	* test/ruby/test_autoload.rb: Test for change.
8689
8690Wed Apr  8 19:18:02 2015  Shota Fukumori (sora_h)  <her@sorah.jp>
8691
8692	* enum.c (enum_grep_v, grep_i, grep_iter_i, Init_enum):
8693	  Implement Enumerable#grep_v. [Feature #11049]
8694
8695Thu May 14 15:54:13 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8696
8697	* ext/pathname/lib/pathname.rb: Remove condition of RUBY_VERSION <= 1.9.
8698	  [Feature #11082]
8699
8700Wed May 13 17:10:37 2015  Masaki Matsushita <glass.saga@gmail.com>
8701
8702	* enum.c (enum_to_a): revert r50457.
8703	  it requires recursion check.
8704	  then, it doesn't make performance improvement.
8705	  [Bug #11130] [Feature #9118]
8706
8707Wed May 13 11:13:40 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8708
8709	* parse.y (parse_gvar): separate message for gvar without
8710	  non-space characters from message for invalid identifiers.
8711
8712Tue May 12 22:18:27 2015  Masaki Matsushita <glass.saga@gmail.com>
8713
8714	* enum.c (enum_to_a): fix incompatibility introduced in r50457.
8715	  [Bug #11130]
8716
8717	* test/ruby/test_enum.rb: test for above.
8718
8719Tue May 12 17:08:03 2015  Koichi Sasada  <ko1@atdot.net>
8720
8721	* method.h: remove unused declaration.
8722
8723Mon May 11 10:58:45 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8724
8725	* gems/bundled_gems: Update minitest-5.6.1 and power_assert-0.2.3.
8726
8727Mon May 11 00:20:31 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8728
8729	* include/ruby/ruby.h (Data_Make_Struct, TypedData_Make_Struct):
8730	  allocate wrapper data object before allocating DATA_PTR to get
8731	  rid of possible memory leak when the former failed.
8732
8733Sun May 10 21:32:45 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8734
8735	* gc.c (gc_mark_children): call dmark function for non-NULL
8736	  pointers only, so that DATA_PTR can be NULL safely now.
8737
8738Sun May 10 16:23:58 2015  Kazuki Tsujimoto  <kazuki@callcc.net>
8739
8740	* proc.c (proc_binding): fix segmentation fault on marking phase.
8741	  envptr of newenvval should not be NULL.
8742
8743	  You can reproduce by
8744	   make test-all TESTS='--gc-stress -n test_to_proc_binding ruby/test_method.rb'
8745
8746Sun May 10 12:41:18 2015  Masaki Matsushita <glass.saga@gmail.com>
8747
8748	* ext/zlib/zlib.c (rb_gzreader_external_encoding):
8749	  define GzipReader#external_encoding.
8750	  [Bug #10900]
8751
8752	* test/zlib/test_zlib.rb: test for above.
8753
8754Sun May 10 11:57:48 2015  Masaki Matsushita <glass.saga@gmail.com>
8755
8756	* ext/win32ole/win32ole_variant.c: fix typo "indicies".
8757	  the patch is from davydovanton <antondavydov.o at gmail.com>.
8758	  [fix GH-892]
8759
8760	* lib/rubygems/indexer.rb: ditto.
8761
8762	* test/rubygems/test_gem_indexer.rb: ditto.
8763
8764Sun May 10 11:44:37 2015  Masaki Matsushita <glass.saga@gmail.com>
8765
8766	* string.c (rb_str_crypt): Raise ArgumentError when
8767	  string passed to String#crypt contains null.
8768	  the patch is from jrusnack <jrusnack at redhat.com>.
8769	  [Bug #10988] [fix GH-853]
8770
8771	* test/ruby/test_string.rb: test for above.
8772
8773Sun May 10 11:23:03 2015  Masaki Matsushita <glass.saga@gmail.com>
8774
8775	* enum.c (enum_to_a): Use size to set array capa when possible.
8776	  the patch is from HonoreDB <aweiner at mdsol.com>.
8777	  [fix GH-444]
8778
8779Sat May  9 06:48:36 2015  Eric Wong  <e@80x24.org>
8780
8781	* ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard
8782	  [Bug #11123]
8783
8784Fri May  8 22:57:24 2015  takiy33  <takiy33@gmail.com>
8785
8786	* test/matrix/test_matrix.rb (test_determinant): refactor test on
8787	  Matrix#determinant, by merging with test_det for an alias method
8788	  det.  [Fix GH-897]
8789
8790Fri May  8 15:43:11 2015  Shugo Maeda  <shugo@ruby-lang.org>
8791
8792	* lib/net/imap.rb (body_ext_mpart): should work even if body-fld-dsp
8793	  is omitted.  [ruby-core:69093] [Bug #11128]
8794
8795Fri May  8 15:05:57 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8796
8797	* doc/syntax/control_expressions.rdoc: fix a missing "a"
8798	  [fix GH-888][ci skip] Patch by @riffraff
8799
8800Fri May  8 12:11:33 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8801
8802	* vm_eval.c (rb_method_call_status): resolve refined method entry
8803	  to check if undefined.  [ruby-core:69064] [Bug #11117]
8804
8805Thu May  7 22:22:59 2015  Sho Hashimoto  <sho-h@ruby-lang.org>
8806
8807	* proc.c: [DOC] fix Binding#local_variable_set example. [ci skip]
8808
8809Thu May  7 11:32:57 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8810
8811	* Makefile.in (rbconfig.rb): add rule to make.
8812
8813Thu May  7 05:14:39 2015  Eric Wong  <e@80x24.org>
8814
8815	* ext/socket/lib/socket.rb (connect_nonblock): use IO#wait_writable
8816	* lib/drb/drb.rb (DRB::DRbTCPSocket#alive?): use IO#wait_readable
8817	* lib/webrick/httpserver.rb (run): ditto
8818	* lib/resolv.rb (request): ditto for single socket case
8819	  [ruby-core:68943] [Feature #11081]
8820
8821Wed May  6 22:49:54 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8822
8823	* vm_eval.c (rb_method_call_status): undefined refined method is
8824	  not callable unless using.  [ruby-core:69064] [Bug #11117]
8825
8826Sun May  3 22:40:06 2015  Rei Odaira  <Rei.Odaira@gmail.com>
8827
8828	* ext/-test-/file/fs.c: need to include sys/statvfs.h
8829	  to use statvfs().
8830
8831	* ext/-test-/file/extconf.rb: check the existence of
8832	  sys/statvfs.h
8833
8834Sun May  3 21:59:48 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8835
8836	* lib/yaml.rb: fix typo. [ci skip][fix GH-890]
8837	  Patch by @miketheman
8838
8839Sun May  3 10:02:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8840
8841	* range.c (linear_object_p, range_include): test if covered for
8842	  linear objects.  [ruby-core:69052] [Bug #11113]
8843
8844Fri May  1 13:30:24 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8845
8846	* dln.c (dln_load): check if a different libruby is loaded by the
8847	  extension library, and then bail out to get rid of very
8848	  frequently reported stale bug reports.
8849
8850Thu Apr 30 19:51:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8851
8852	* compile.c (iseq_compile_each): revert r46873 and r46875, not to
8853	  allow to execute private readers by pretending op assign.
8854	  [ruby-core:68984] [Bug #11096]
8855
8856Thu Apr 30 17:02:33 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8857
8858	* rational.c: Added documentation for rational literal.
8859	  [Bug #11075][fix GH-885][ci skip] Patch by @shishir127
8860
8861Thu Apr 30 16:39:44 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8862
8863	* ext/socket/ipsocket.c (init_inetsock_internal): preserve errno
8864	  before other library calls and use rb_syserr_fail.
8865	  [ruby-core:68531] [Bug #10975]
8866
8867Thu Apr 30 16:22:16 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8868
8869	* parse.y (lambda): push and reset cmdarg_stack in lambda body.
8870	  [ruby-core:69017] [Bug #11107]
8871
8872Sun Apr 26 07:36:48 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8873
8874	* enc/utf_8.c (code_to_mbclen, code_to_mbc): reject values larger
8875	  than UTF-8 max codepoints.  [Feature #11094]
8876
8877Sat Apr 25 14:26:19 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8878
8879	* string.c (str_buf_cat): expand later so that the buffer can be
8880	  larger for further use.  [Bug #11080] [Bug #11095]
8881
8882Fri Apr 24 23:48:45 2015  Akinori MUSHA  <knu@iDaemons.org>
8883
8884	* misc/ruby-electric.el: Import version 2.2.3 from
8885	  https://github.com/knu/ruby-electric.el.
8886
8887Fri Apr 24 10:40:02 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8888
8889	* win32/win32.c (rb_w32_{getc,putc}): removed.  they are needed for old
8890	  ruby (before 1.8), but not now.
8891
8892Fri Apr 24 08:40:13 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8893
8894	* win32/win32.c: remove bcc related code.
8895
8896	* include/ruby/win32.h: ditto.
8897
8898Fri Apr 24 08:21:07 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8899
8900	* win32/win32.c (rb_acrt_lowio_lock_fh): wrap _pioinfo(i)->lock.
8901
8902	* win32/win32.c (rb_acrt_lowio_unlock_fh): ditto.
8903
8904Fri Apr 24 06:47:19 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8905
8906	* win32/win32.c (_filbuf): msvc14 doesn't have it, use _fgetc_nolock.
8907
8908	* win32/win32.c (_flsbuf): msvc14 doesn't have it, use _fputc_nolock.
8909
8910	* win32/win32.c (vcruntime_file): define vcruntime_file on msvc14
8911	  because it doesn't export FILE's internal structure.
8912
8913	* win32/win32.c (FILE_COUNT): added to abstract FILE->_cnt.
8914
8915	* win32/win32.c (FILE_READPTR): added to abstract FILE->_ptr.
8916
8917	* win32/win32.c (FILE_FILENO): added to abstract FILE->_file.
8918
8919	* win32/win32.c (init_stdhandle): use FILE_FILENO.
8920
8921	* win32/win32.c (rb_w32_getc): use FILE_COUNT and FILE_READPTR.
8922
8923	* win32/win32.c (rb_w32_putc): ditto.
8924
8925Fri Apr 24 06:37:07 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8926
8927	* win32/win32.c (dupfd): use _set_osfhnd.
8928
8929	* win32/win32.c (rb_w32_wopen): use _set_osflags.
8930
8931Thu Apr 24 05:38:01 2015  Koichi Sasada  <ko1@atdot.net>
8932
8933	* gc.c (gc_mark_roots): fox to work PRINT_ROOT_TICKS.
8934
8935Fri Apr 24 04:49:05 2015  NARUSE, Yui  <naruse@ruby-lang.org>
8936
8937	* win32/Makefile.sub: MSVC14 have struct timespec.
8938
8939	* win32/rtname.cmd: support vcruntime140.dll.
8940
8941	* time.c (localtime_with_gmtoff_zone): MSVC14 doesn't have tzname and
8942	  daylight but have _tzname and _daylight.
8943
8944Thu Apr 23 11:35:55 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8945
8946	* vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow
8947	  symbols to just instance_eval/exec, except for definition of
8948	  singletons.  [ruby-core:68961] [Bug #11086]
8949
8950Thu Apr 23 10:01:36 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8951
8952	* lib/delegate.rb: fix a typo.
8953	  [fix GH-881][ci skip] Patch by @Zorbash
8954
8955Wed Apr 22 18:36:50 2015  Shugo Maeda  <shugo@ruby-lang.org>
8956
8957	* lib/net/imap.rb (move, uid_move): support the MOVE command defined
8958	  in RFC6851.  Patch by ojab ojab.
8959	  [ruby-core:68960] [Feature #11077]
8960
8961Tue Apr 22 12:42:12 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
8962
8963	* test/ruby/test_object.rb: add tests for Kernel#String and Kernel#Array.
8964	  [fix GH-879][fix GH-880] Patch by @yui-knk
8965
8966Tue Apr 21 20:46:02 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
8967
8968	* test/ruby/test_object.rb: renamed tests to explicitly class name.
8969	  [fix GH-877] Patch by @yui-knk
8970
8971Tue Apr 21 05:31:00 2015  Eric Wong  <e@80x24.org>
8972
8973	* ext/socket/lib/socket.rb (connect_internal): avoid common exceptions
8974	  from connect_nonblock. [ruby-core:68909]
8975
8976Mon Apr 20 23:46:53 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8977
8978	* win32/win32.c (rb_w32_wreadlink): follow the official format of
8979	  REPARSE_DATA_BUFFER structure.
8980
8981Mon Apr 20 20:23:04 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8982
8983	* common.mk ($(arch)-fake.rb): revert r50354 because bsdmake seems not
8984	  to handle such substitution.
8985
8986	* tool/expand-config.rb: convert path separators here.
8987
8988Mon Apr 20 16:52:20 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8989
8990	* tool/fake.rb: don't fake libdir.  use libdirname instead.
8991
8992Mon Apr 20 16:49:52 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8993
8994	* lib/mkmf.rb (MakeMakefile#configuration): DESTDIR should never affect
8995	  top_srcdir and builddir.
8996
8997Mon Apr 20 16:18:17 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
8998
8999	* common.mk ($(arch)-fake.rb): fix the path separator up for Windows.
9000
9001Mon Apr 20 15:02:47 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
9002
9003	* win32/win32.c (rb_w32_wreadlink): fixed a bug that a junction misses
9004	  its drive letter.
9005
9006Mon Apr 20 12:54:56 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
9007
9008	* ext/openssl/*: use license instead of licence.
9009	  [fix GH-876][ci skip] Patch by @davydovanton
9010	* lib/net/https.rb: ditto.
9011
9012Mon Apr 20 12:42:40 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
9013
9014	* benchmark/bm_so_meteor_contest.rb: fix a typo.
9015	  [fix GH-876][ci skip] Patch by @davydovanton
9016	* tool/bisect.sh: ditto.
9017	* tool/update-deps: ditto.
9018
9019Mon Apr 20 11:10:46 2015  Eric Wong  <e@80x24.org>
9020
9021	* ext/socket/socket.c (sock_connect_nonblock): do not raise EISCONN
9022	  [ruby-core:68926] [Feature #11072]
9023	* test/socket/test_nonblock.rb: check non-EISCONN on 2nd connect
9024
9025Sun Apr 19 12:19:17 2015  Chad Brewbaker  <crb002@gmail.com>
9026
9027	* ext/{etc,openssl,tk}: Adding parens and comparisons around
9028	  assignments to get rid of Wparentheses warnings.  [Fix GH-875]
9029
9030Sun Apr 19 10:42:54 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9031
9032	* hash.c (get_env_cstr): environment variables must be ASCII
9033	  compatible, as dummy encodings and wide char encodings are
9034	  unsupported now.
9035
9036Sat Apr 18 15:18:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9037
9038	* ext/json/parser/parser.rl: raise with messages in UTF-8
9039	  encoding.  [ruby-core:67386] [Bug #10705]
9040
9041Fri Apr 17 11:58:34 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9042
9043	* string.c (STR_SET_EMBED): clear NOFREE flag at embedding as
9044	  embedded strings no longer refer static strings.
9045	  [ruby-core:68436] [Bug #10942]
9046
9047Thu Apr 16 05:15:50 2015  Eric Wong  <e@80x24.org>
9048
9049	* NEWS: note IO#wait_readable change in r50263
9050
9051Thu Apr 16 05:09:36 2015  Eric Wong  <e@80x24.org>
9052
9053	* lib/net/protocol.rb (rbuf_fill): use IO#wait_*able
9054	* lib/net/http/generic_request.rb (wait_for_continue): ditto
9055	  [ruby-core:68891] [Feature #11056]
9056
9057Wed Apr 15 18:43:43 2015  Koichi Sasada  <ko1@atdot.net>
9058
9059	* vm_trace.c (rb_tracepoint_new): fix documentation.
9060	  Commented by @emilsoman.
9061
9062Wed Apr 15 17:36:51 2015  Koichi Sasada  <ko1@atdot.net>
9063
9064	* vm_trace.c (rb_tracepoint_new): Add documentation for
9065	  rb_tracepoint_new C level API [ci skip]
9066	  Provided by @emilsoman. [fix GH-869]
9067
9068Wed Apr 15 10:37:40 2015  SHIBATA Hiroshi  <hsbt@ruby-lang.org>
9069
9070	* doc/contributors.rdoc: fix a typo. Patch by @davydovanton
9071	  [fix GH-872][ci skip]
9072	* doc/syntax/methods.rdoc: ditto.
9073	* ext/digest/sha2/sha2.c: ditto.
9074	* ext/socket/ipsocket.c: ditto.
9075	* ext/tk/*: ditto.
9076
9077Wed Apr 15 07:51:23 2015  Yuki Yugui Sonoda  <yugui@yugui.jp>
9078
9079	* doc/extension.ja.rdoc: Added description of TypedData_XXX.
9080	  Deprecated the old DATA_XXX.
9081	  Reviewed by ko1 and nobu.
9082	  Fixes [ruby-dev:40881] #3064
9083
9084	* doc/extension.rdoc: ditto.
9085
9086Wed Apr 15 07:34:49 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9087
9088	* thread_pthread.c (reserve_stack): keep sp safe zone to get rid
9089	  of crash by -fstack-check.  [ruby-core:68740] [Bug #11030]
9090
9091Tue Apr 14 16:03:49 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
9092
9093	* tool/merger.rb (versionup): should also increment revision when
9094	  changing teeny.
9095
9096Tue Apr 14 11:24:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9097
9098	* ext/-test-/printf/printf.c (uint_to_str): renamed to get rid of
9099	  conflict on cygwin.  [ruby-core:68877] [Bug #11065]
9100
9101Tue Apr 14 08:59:04 2015  Zachary Scott  <e@zzak.io>
9102
9103	* gc.c: [DOC] Improve documentation for ObjectSpace.count_objects
9104	  with regards to `:TOTAL` key, with patch by @schneems [Fixes GH-871]
9105	  https://github.com/ruby/ruby/pull/871 [Bug #11067]
9106
9107Mon Apr 13 22:44:07 2015  Tanaka Akira  <akr@fsij.org>
9108
9109	* test/lib/envutil.rb (File.mkfifo): Defined using mkfifo command.
9110
9111	* test/ruby/test_io.rb: Use File.mkfifo.
9112
9113	* test/ruby/test_file_exhaustive.rb: Ditto.
9114
9115	* test/ruby/test_process.rb: Ditto.
9116
9117Mon Apr 13 21:20:20 2015  CHIKANAGA Tomoyuki  <nagachika@ruby-lang.org>
9118
9119	* ext/openssl/lib/openssl/ssl.rb: stricter hostname verification
9120	  following RFC 6125. with the patch provided by Tony Arcieri and
9121	  Hiroshi Nakamura [ruby-core:61545] [Bug #9644]
9122	* test/openssl/test_ssl.rb: add tests for above.
9123
9124Sun Apr 12 18:40:04 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9125
9126	* ext/json/json.gemspec: bump version to 1.8.2.
9127	* ext/json/lib/json/version.rb: ditto.
9128
9129Sun Apr 12 18:12:07 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9130
9131	* ext/json/json.gemspec, lib/rdoc/rdoc.gemspec: added gemspec directly.
9132	* defs/default_gems, tool/rbinstall.rb: removed default_gems definition.
9133	  it make simple installation for default gems.
9134
9135Sun Apr 12 17:35:17 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9136
9137	* ext/json/*, test/json/*: Reverted r50231.  Because it's not
9138	  working with cross-compile environment.
9139
9140Sun Apr 12 15:34:59 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9141
9142	* parse.y (arg): fix segfault by null caused by syntax error.
9143	  [ruby-core:68851] [Bug #10957]
9144
9145Sun Apr 12 15:11:16 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9146
9147	* lib/rubygems/test_case.rb: use explicitly exception class and reverted
9148	  to require JSON library for rubygems tests with Ruby 2.2.0 or earlier.
9149
9150Sun Apr 12 15:10:18 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9151
9152	* ext/io/wait/wait.c (io_wait_readable): simply returns that IO is
9153	  readable without blocking, but no longer returns EOF.
9154
9155	* ext/io/wait/wait.c (io_ready_p, io_wait_readable): try polling
9156	  first and check FIONREAD optionally to see if EOF.
9157	  [ruby-core:36805] [Feature #4849]
9158
9159Sun Apr 12 14:53:23 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9160
9161	* lib/rubygems/test_case.rb: fixed json load error for rubygems tests.
9162
9163Sun Apr 12 14:13:28 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9164
9165	* gc.c: Document require name for ObjectSpace methods.
9166	  [ci skip][fix GH-860] Patch by @schneems
9167
9168Sun Apr 12 13:54:05 2015  Tanaka Akira  <akr@fsij.org>
9169
9170	* test/ruby/test_io.rb: New test that open(fifo) doesn't block other
9171	  threads.
9172
9173Sun Apr 12 13:52:18 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9174
9175	* ext/coverage/coverage.c: Remove extension from require argument.
9176	  [ci skip][fix GH-870] Patch by @yui-knk
9177
9178Sun Apr 12 10:29:14 2015  Eric Wong  <e@80x24.org>
9179
9180	* ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock):
9181	  support `exception: false'
9182	* (get_no_exception): move function location
9183	* ext/socket/socket.c (sock_connect_nonblock):
9184	  support `exception: false'
9185	* test/openssl/test_pair.rb (test_connect_accept_nonblock_no_exception):
9186	  test `exception: false' on connect,
9187	  rename from `test_accept_nonblock_no_exception'
9188	* test/socket/test_nonblock.rb (test_connect_nonblock_no_exception):
9189	  new test
9190
9191Sun Apr 12 09:57:16 2015  Tanaka Akira  <akr@fsij.org>
9192
9193	* test/ruby/test_file_exhaustive.rb: Test a block device on GNU/Linux.
9194
9195Sun Apr 12 09:24:03 2015  Tanaka Akira  <akr@fsij.org>
9196
9197	* test/ruby/test_file_exhaustive.rb: Test a file not owned.
9198
9199Sun Apr 12 09:05:44 2015  Tanaka Akira  <akr@fsij.org>
9200
9201	* ext/fiddle/depend: Fix "Wrong mix of special targets" error with
9202	  OpenBSD make.
9203
9204Sun Apr 12 09:04:37 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
9205
9206	* test/ruby/test_file_exhaustive.rb: Windows doesn't support Unix file
9207	  modes.
9208
9209Sun Apr 12 08:56:44 2015  Tanaka Akira  <akr@fsij.org>
9210
9211	* ext/-test-/file/fs.c: OpenBSD needs sys/param.h before sys/mount.h.
9212
9213Sun Apr 12 08:52:01 2015  Tanaka Akira  <akr@fsij.org>
9214
9215	* test/ruby/test_file_exhaustive.rb: Test suid, sgid and sticky file.
9216
9217Sat Apr 11 23:48:30 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9218
9219	* template/fake.rb.in: Don't assign baseruby, Because it's affect to
9220	  Makefile of native gem like json on bundled gems.
9221
9222Sat Apr 11 23:33:22 2015  Tanaka Akira  <akr@fsij.org>
9223
9224	* file.c (rb_f_test): Consider nsec for "=", "<" and ">" for "test"
9225	  method.
9226
9227Sat Apr 11 23:26:05 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9228
9229	* tool/rbinstall.rb: support destdir for native extension gem.
9230
9231Sat Apr 11 21:02:06 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
9232
9233	* test/ruby/test_file_exhaustive.rb
9234	  (TestFileExhaustive#test_stat_socket_p): r50226 accidentally missed
9235	  the guard for non-unix environments.
9236
9237Sat Apr 11 20:14:21 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9238
9239	* ext/json/*, test/json/*, defs/default_gems: Gemify JSON library.
9240	  [fix GH-867][Feature #11057]
9241	* test/ruby/test_extlibs.rb: removed json gem from existence extensions.
9242	* gems/bundled_gems: added json gem into bundled gem.
9243	* lib/rdoc/rubygems_hook.rb: ignored no json environment.
9244	* lib/rubygems/test_case.rb, test/rubygems/*: ditto.
9245	* lib/rdoc/test_case.rb, test/rdoc/*: ditto.
9246
9247Sat Apr 11 15:56:58 2015  Tanaka Akira  <akr@fsij.org>
9248
9249	* test/ruby/test_file_exhaustive.rb: Create sample files lazily.
9250
9251Sat Apr 11 14:03:47 2015  Tanaka Akira  <akr@fsij.org>
9252
9253	* test/ruby/test_file_exhaustive.rb: Test character device using
9254	  /dev/null.
9255
9256Sat Apr 11 10:59:58 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9257
9258	* lib/mkmf.rb (append_cppflags, append_cflags, append_ldflags):
9259	  utility methods to append compiler options.
9260
9261Sat Apr 11 08:22:24 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9262
9263	* lib/rdoc/text.rb: removed duplicated code.
9264
9265Sat Apr 11 04:46:42 2015  Eric Wong  <e@80x24.org>
9266
9267	* lib/net/protocol.rb (rbuf_fill): avoid exception with read_nonblock
9268	  [ruby-core:68787] [Feature #11044]
9269
9270Fri Apr 10 23:57:44 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9271
9272	* dir.c (need_normalization): use getattrlist() if fgetattrlist()
9273	  is unavailable, on OSX 10.5.  [ruby-core:68829] [Bug #11054]
9274
9275Fri Apr 10 22:29:21 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9276
9277	* lib/mkmf.rb (try_compile): pass the given werror flag to try_do
9278	  to check if stderr is empty.
9279
9280	* lib/mkmf.rb (try_cflags, try_ldflags): default werror to true.
9281
9282	* win32/Makefile.sub (WERRORFLAG): remove useless option.  VC does
9283	  not make warnings of unknown command option an error.
9284
9285Fri Apr 10 19:34:24 2015  Tanaka Akira  <akr@fsij.org>
9286
9287	* test/ruby/test_file_exhaustive.rb: Test socket.
9288
9289Fri Apr 10 19:38:46 2015  Koichi Sasada  <ko1@atdot.net>
9290
9291	* test/objspace/test_objspace.rb: remove debug prints.
9292
9293Fri Apr 10 19:35:51 2015  Koichi Sasada  <ko1@atdot.net>
9294
9295	* ext/objspace/objspace.c: add ObjectSpace.count_imemo_objects method
9296	  to count imemo objects for each type.
9297
9298	* test/objspace/test_objspace.rb: add a test.
9299
9300	* NEWS: describe about this addition.
9301
9302Fri Apr 10 19:34:24 2015  Tanaka Akira  <akr@fsij.org>
9303
9304	* test/ruby/test_file_exhaustive.rb: Test anonymous pipe.
9305
9306Fri Apr 10 19:31:56 2015  Tanaka Akira  <akr@fsij.org>
9307
9308	* test/ruby/test_file_exhaustive.rb: Test named pipe.
9309
9310Fri Apr 10 19:10:34 2015  Koichi Sasada  <ko1@atdot.net>
9311
9312	* ext/objspace/objspace.c (setup_hash): unify common routine.
9313
9314Fri Apr 10 18:29:49 2015  Tanaka Akira  <akr@fsij.org>
9315
9316	* process.c (rb_execarg_parent_start1): Handle EINTR.
9317
9318Fri Apr 10 17:27:58 2015  Koichi Sasada  <ko1@atdot.net>
9319
9320	* vm.c (vm_exec): check other events when RETURN is thrown.
9321	  [Bug #10724]
9322
9323	* test/ruby/test_settracefunc.rb: add a test.
9324
9325Fri Apr 10 11:44:09 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9326
9327	* ext/date/extconf.rb: check warnings.
9328
9329	* lib/mkmf.rb (try_cflags): pass options to try_compile.
9330
9331	* win32/Makefile.sub (WERRORFLAG): make unknown command line
9332	  options an error.
9333
9334Fri Apr 10 08:00:17 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
9335
9336	* test/ruby/test_process.rb: unfortunately, windows is not POSIX...
9337	  cygwin has mkfifo command, but it does not affect system-wide.
9338
9339Fri Apr 10 02:18:53 2015  Tanaka Akira  <akr@fsij.org>
9340
9341	* test/ruby/test_process.rb: Use mkfifo command instead of mknod
9342	  command to create a named pipe.  mkfifo command is defined by POSIX.
9343
9344Fri Apr 10 01:29:05 2015  Tanaka Akira  <akr@fsij.org>
9345
9346	* process.c: Release GVL when opening a file in spawn() to avoid whole
9347	  process blocking when opening a named pipe.
9348	  (open_func): New function.
9349	  (rb_execarg_parent_start1): Extracted from rb_execarg_parent_start and
9350	  use rb_thread_call_without_gvl2 to release GVL when opening a file.
9351	  (rb_execarg_parent_start): Invoke rb_execarg_parent_start1 via
9352	  rb_protect and invoke rb_execarg_parent_end when error.
9353
9354Thu Apr  9 22:19:19 2015  Tanaka Akira  <akr@fsij.org>
9355
9356	* process.c (redirect_open): Removed.
9357
9358Thu Apr  9 21:38:20 2015  Tanaka Akira  <akr@fsij.org>
9359
9360	* internal.h (rb_execarg_parent_end): Declared.
9361
9362	* process.c: "spawn" opens files in the parent process.
9363	  (check_exec_redirect): Add an placeholder for fd in parameters
9364	  for fd_open.
9365	  (check_exec_fds_1): Delete fd_open condition.
9366	  (check_exec_fds): Don't call check_exec_fds_1 with fd_open.
9367	  (rb_execarg_parent_start): Open files specified as "spawn" options
9368	  and add "dup2" options.
9369	  (rb_execarg_parent_end): New function to close opened fds.
9370	  (run_exec_open): Removed.
9371	  (rb_execarg_run_options): Don't call run_exec_open.
9372	  (rb_spawn_internal): Call rb_execarg_parent_end.
9373
9374	* io.c (pipe_open): Call rb_execarg_parent_end.
9375
9376	* ext/pty/pty.c (establishShell): Call rb_execarg_parent_end.
9377
9378Thu Apr  9 20:52:31 2015  Tanaka Akira  <akr@fsij.org>
9379
9380	* internal.h (rb_execarg_parent_start): Renamed from rb_execarg_fixup.
9381
9382	* process.c: Follows the above change.
9383
9384	* io.c: Ditto.
9385
9386	* ext/pty/pty.c: Ditto.
9387
9388Thu Apr  9 20:35:12 2015  Tanaka Akira  <akr@fsij.org>
9389
9390	* process.c (fd_clear_cloexec): Extracted from run_exec_dup2.
9391
9392Thu Apr  9 09:26:47 2015  Eric Wong  <e@80x24.org>
9393
9394	* ccan/list/list.h: sync with ccan upstream
9395	  [ccan commit c2fbfe5282ba264f3485586e7efa8a5967f2d386]
9396
9397Thu Apr  9 08:24:03 2015  Masahiro Tomita  <tommy@tmtm.org>
9398
9399	* ext/socket/raddrinfo.c (addrinfo_mload): fix memory leak of
9400	  addrinfo.  [ruby-dev:48923] [Bug #11051]
9401
9402Wed Apr  8 17:45:02 2015  Shannon Skipper  <shannonskipper@gmail.com>
9403
9404	* version.c (Init_version): the version of the engine or
9405	  interpreter.  [Fix GH-858]
9406
9407Wed Apr  8 16:15:30 2015  Kenta Murata  <mrkn@cookpad.com>
9408
9409	* bigdecimal: conform to ruby's license.  [ruby-core:68466] [Bug #10952]
9410
9411Wed Apr  8 14:57:06 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
9412
9413	* win32/win32.c (rb_w32_wreadlink): should treat junctions like as
9414	  symlinks.
9415
9416Wed Apr  8 14:03:47 2015  Koichi Sasada  <ko1@atdot.net>
9417
9418	* test/ruby/test_symbol.rb: fix syntax error.
9419
9420Wed Apr  8 13:01:06 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9421
9422	* hash.c (rb_any_hash): Symbols are compared by the identities
9423	  always.  [ruby-core:68767] [Bug #11035]
9424
9425Tue Apr  7 10:22:51 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9426
9427	* internal.h: fix typo. Patch by @sferik [fix GH-865]
9428
9429Mon Apr  6 22:52:35 2015  Tanaka Akira  <akr@fsij.org>
9430
9431	* enum.c: Enumerable#chunk and Enumerable#slice_before no longer takes
9432	  the initial_state argument.  [Feature #10958]
9433
9434Mon Apr  6 16:09:58 2015  Koichi Sasada  <ko1@atdot.net>
9435
9436	* vm_args.c: protect value stack from calling other methods
9437	  during complex parameter setting process (splat, kw, and so on).
9438	  [Bug #11027]
9439
9440	* vm_core.h: remove rb_thread_t::mark_stack_len.
9441	  With this modification, we don't need to use th->mark_stack_len.
9442
9443	* test/ruby/test_keyword.rb: add a test.
9444
9445	* cont.c (cont_capture): catch up this fix.
9446
9447	* vm.c (rb_thread_mark): ditto.
9448
9449Mon Apr  6 11:26:42 2015  NARUSE, Yui  <naruse@ruby-lang.org>
9450
9451	* tool/downloader.rb (http_options): prevent content auto decoding
9452	  because this is a downloader.
9453
9454Sun Apr  5 09:55:18 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
9455
9456	* doc/contributing.rdoc: update Maintainers list.
9457
9458Sun Apr  5 09:11:00 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9459
9460	* tool/rbinstall.rb: fix bin script permission of bundled gems.
9461
9462Sun Apr  5 08:46:08 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9463
9464	* tool/rbinstall.rb: support --program-suffix option.
9465
9466Sat Apr  4 21:31:18 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9467
9468	* lib/rake/*: Gemify rake [fix GH-862][Feature #11025]
9469	* test/rake/*: ditto.
9470	* tool/rbinstall.rb: ditto.
9471
9472Sat Apr  4 11:30:24 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9473
9474	* string.c (rb_str_setbyte): check the argument first not to
9475	  discard shared string and code range unnecessarily until
9476	  actually changing the contents.  pointed out by headius.
9477
9478Sat Apr  4 08:16:43 2015  NARUSE, Yui  <naruse@ruby-lang.org>
9479
9480	* lib/net/http.rb (edit_path): use path which is absolute ftp url
9481	  on using ftp_proxy.
9482
9483Fri Apr  3 11:43:17 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9484
9485	* vm_eval.c (vm_call0_cfunc): update invoker arguments.
9486
9487	* vm_insnhelper.c (vm_call_cfunc_latter): ditto.
9488
9489	* vm_insnhelper.c (rb_vm_call_cfunc_push_frame): ditto, and prefix
9490	  with rb_.
9491
9492Thu Apr  2 16:26:59 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9493
9494	* common.mk, tool/mkconfig.rb: check the running ruby version in
9495	  rbconfig.rb with the program version, as RUBY_VERSION has never
9496	  been affected by --with-ruby-version option.
9497	  [ruby-core:68639] [Bug #11002]
9498
9499	* configure.in (LIBRUBY_DLDFLAGS): compatibility_version must be
9500	  valid version numbers, not an arbitrary string.
9501
9502Wed Apr  1 11:09:15 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9503
9504	* dir.c (push_glob): remove indirect links of arguments for
9505	  trampoline.
9506
9507Wed Apr  1 09:59:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9508
9509	* lib/fileutils.rb (FileUtils#mv): show the exact target path in
9510	  the error message instead of the destination parent directory
9511	  name.  patched by Joao Britto <jabcalves AT gmail.com> at
9512	  [ruby-core:68706].  [Bug #11021]
9513
9514Tue Mar 31 15:25:07 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9515
9516	* doc/ChangeLog-0.06_to_0.52: added archived Changelog.
9517	  [ruby-list:50105]
9518	* doc/ChangeLog-0.50_to_0.60: ditto.
9519	* doc/ChangeLog-0.60_to_1.1: ditto.
9520
9521Mon Mar 30 22:02:55 2015  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
9522
9523	* README.EXT.ja: add redirect [ruby-core:68631]
9524
9525Mon Mar 30 14:42:41 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9526
9527	* win32/win32.c (fileattr_to_unixmode, winnt_lstat): deal with
9528	  symbolic link than directory, and set executable bits.
9529
9530Mon Mar 30 11:27:54 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9531
9532	* io.c (copy_stream_body): use the arguments without conversion if
9533	  having read, readpartial, and write methods, than conversion by
9534	  to_path method.  [ruby-core:68676] [Bug #11015]
9535
9536Sun Mar 29 21:08:37 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9537
9538	* gc.c (objspace_allrefs_destruct_i): fix a typo.
9539	  [Bug #11013]
9540
9541Sun Mar 29 11:51:32 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9542
9543	* proc.c (proc_binding): replicate env from method object, and
9544	  allocate the local variable area for the iseq local table.
9545	  [ruby-core:68673] [Bug #11012]
9546
9547Sat Mar 28 09:19:41 2015  NARUSE, Yui  <naruse@ruby-lang.org>
9548
9549	* ext/date/extconf.rb: try_cflags("-std=iso9899:1999") [Bug #10906]
9550	  ruby itself (including numeric.c) is built with strict compile
9551	  options including -std=iso9899:1999, but ext/date is not.
9552	  By the way -std=iso9899:1999 is not only a warning option but also
9553	  changes behavior like MACRO definitions for example INFINITY.
9554	  gcc on Solaris affect this.
9555
9556Fri Mar 27 16:34:16 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9557
9558	* common.mk: revert using BOOTSTRAPRUBY for enc.mk, as
9559	  enc/depend uses CONFIG.  [ruby-core:68647] [Bug #11004]
9560
9561Thu Mar 26 10:05:13 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9562
9563	* test/test_observer.rb: add tests for Observable module.
9564	  [fix GH-859] Patch by @brightbits
9565
9566Thu Mar 26 06:35:10 2015  Eric Wong  <e@80x24.org>
9567
9568	* README.EXT: add redirect [ruby-core:68631]
9569
9570Wed Mar 25 16:46:49 2015  NARUSE, Yui  <naruse@ruby-lang.org>
9571
9572	* ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state,
9573	  but it is a dummy.
9574
9575	* ext/socket/option.c: Solaris 11 doesn't have u_intN_t.
9576
9577	* ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec.
9578
9579	* ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have
9580	  related macros.
9581
9582Wed Mar 25 17:03:08 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9583
9584	* ext/-test-/file/fs.c (get_fsname): try magic number only if
9585	  f_type is included.  [ruby-dev:48913] [Bug #11000]
9586
9587Wed Mar 25 11:20:40 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9588
9589	* benchmark/bm_hash_aref_flo.rb: make more realistic data.
9590	  [ruby-core:68632] [[Bug #10999]
9591
9592Wed Mar 25 10:39:06 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9593
9594	* .document: removed needless entries.
9595
9596Wed Mar 25 08:07:28 2015  Eric Wong  <e@80x24.org>
9597
9598	* doc/extension.rdoc: fix spelling of filename
9599	* doc/extension.ja.rdoc: ditto.
9600
9601Tue Mar 25 06:55:43 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
9602
9603	* complex.c (k_inexact_p, k_exact_zero_p): use k_exact_zero_p macro
9604	  to remove k_inexact_p macro.
9605
9606	* complex.c (k_exact_one_p): remove unused macro k_exact_one_p.
9607
9608Tue Mar 24 22:23:33 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9609
9610	* doc/extension.rdoc: move from toplevel document and added extname.
9611	* doc/extension.ja.rdoc: ditto.
9612
9613Tue Mar 24 22:06:58 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9614
9615	* doc/standard_library.rdoc: strip.
9616
9617Tue Mar 24 22:06:27 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9618
9619	* doc/standard_library.rdoc: move Thread to Extensions.
9620
9621Tue Mar 24 21:59:10 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9622
9623	* doc/contributing.rdoc: update Maintainers list.
9624
9625Tue Mar 24 19:10:24 2015  Koichi Sasada  <ko1@atdot.net>
9626
9627	* gc.c (gc_writebarrier_generational): fix messages for rb_bug().
9628	  Remove `rb_' prefix.
9629
9630	* gc.c (gc_writebarrier_incremental): ditto.
9631
9632Tue Mar 24 17:34:01 2015  Shugo Maeda  <shugo@ruby-lang.org>
9633
9634	* README.ja.md: should be chunibyo.
9635
9636Tue Mar 24 17:30:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9637
9638	* ext/-test-/file/fs.c (get_fsname): return filesystem name by
9639	  statfs/statvfs.  [ruby-core:68624] [Bug #10998]
9640
9641Tue Mar 24 16:46:02 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
9642
9643	* tool/redmine-backporter.rb: now doesn't required spaces just after
9644	  `!`.
9645
9646Mon Mar 23 23:18:27 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9647
9648	* dir.c (dir_close): don't raise on double close for consistent to
9649	  IO#close.  [Feature #10950]
9650
9651Mon Mar 23 21:22:07 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9652
9653	* win32/file.c (rb_readlink): move from file.c for better buffer
9654	  allocation and the result encoding.
9655
9656	* win32/win32.c (wreadlink, rb_w32_ureadlink): implement readlink().
9657
9658Mon Mar 23 14:40:45 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9659
9660	* win32/win32.c (winnt_stat): stat with following symbolic links.
9661
9662	* win32/win32.c (winnt_lstat): rename old winnt_stat, which does
9663	  not follow symbolic links.
9664
9665Mon Mar 23 01:44:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9666
9667	* marshal.c (r_symreal): register symbol names as strings first so
9668	  that r_symlink always returns valid names.
9669	  [ruby-core:68587] [Bug #10991]
9670
9671	* marshal.c (r_ivar, r_object0): now need to intern symbol names.
9672
9673	* marshal.c (r_object0): compare with symbol names.
9674
9675Sun Mar 22 22:07:40 2015  Kouhei Sutou  <kou@cozmixng.org>
9676
9677	* doc/etc.rd.ja: Fix wrong coding for Emacs.
9678
9679Sun Mar 22 09:53:15 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9680
9681	* tool/make-snapshot (package): add default CONFIGURE name to
9682	  follow r50039.
9683
9684	* tool/make-snapshot (package): substitute configuration variables
9685	  in Makefile.in instead of passing by the command line, and make
9686	  temporary Makefile instead of a pipe.
9687
9688Sun Mar 22 08:09:47 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9689
9690	* common.mk (ext/ripper/ripper.c, ext/rbconfig/sizeof/sizes.c):
9691	  strip autogenerated dependencies which have invalid syntax in
9692	  other than nmake.
9693
9694Sat Mar 21 15:01:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9695
9696	* ext/io/console/console.c (console_set_winsize): use handle for
9697	  writing.  GetConsoleScreenBufferInfo seems failing on a handle
9698	  for reading.
9699
9700	* io.c: [DOC] update the example of IO#winsize to use $stdout
9701	  instead of $stdin, which does not work on Windows.  a patch by
9702	  Jan Lelis <mail AT janlelis.de> at [ruby-core:68574].
9703	  [Bug #10986]
9704
9705Fri Mar 20 18:41:03 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9706
9707	* proc.c (respond_to_missing_p): check if the receiver responds to
9708	  the given method by respond_to_missing?.
9709
9710	* proc.c (mnew_missing): create Method object for method_missing.
9711	  [ruby-core:68564] [Bug #10985]
9712
9713Fri Mar 20 17:43:18 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9714
9715	* .travis.yml: enabled email notification.
9716
9717Fri Mar 20 17:39:52 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9718
9719	* .travis.yml: removed Ruby 1.9.3 build on Travis CI
9720
9721Fri Mar 20 12:38:36 2015  Koichi Sasada  <ko1@atdot.net>
9722
9723	* gc.c (obj_info): obj_info() can receive internal objects.
9724
9725	* gc.c (check_rvalue_consistency): obj_info() returns const char *.
9726
9727Fri Mar 20 12:14:37 2015  Koichi Sasada  <ko1@atdot.net>
9728
9729	* gc.c (obj_info): show class name and T_DATA type_name.
9730
9731Thu Mar 19 22:12:46 2015  Koichi Sasada  <ko1@atdot.net>
9732
9733	* gc.c (rb_copy_wb_protected_attribute): `dest' can be WB unprotected.
9734
9735Thu Mar 19 21:25:25 2015  Koichi Sasada  <ko1@atdot.net>
9736
9737	* gc.c (rb_copy_wb_protected_attribute): demote `dest' object.
9738
9739Thu Mar 19 16:18:00 2015  Koichi Sasada  <ko1@atdot.net>
9740
9741	* gc.c, internal.h: export rb_gc_verify_internal_consistency().
9742
9743Thu Mar 19 16:15:24 2015  Koichi Sasada  <ko1@atdot.net>
9744
9745	* gc.c (obj_info): show allocation site if GC_DEBUG is not 0.
9746
9747Thu Mar 19 16:12:01 2015  Koichi Sasada  <ko1@atdot.net>
9748
9749	* gc.c (newobj_of): fix RGENGC_OLD_NEWOBJ_CHECK logics.
9750	  * skip on incremental marking because not sure what happen :p
9751	  * rb_gc_writebarrier_remember() is enough to mark children.
9752
9753Thu Mar 19 16:08:42 2015  Koichi Sasada  <ko1@atdot.net>
9754
9755	* gc.c (rb_copy_wb_protected_attribute): need demote for old objects.
9756
9757Thu Mar 19 10:31:00 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9758
9759	* random.c (fill_random_bytes): release the handle in the static
9760	  variable, not a local variable.
9761
9762Thu Mar 19 06:30:35 2015  Koichi Sasada  <ko1@atdot.net>
9763
9764	* object.c (rb_obj_clone): do not touch age (FL_PROMOTED[01]) because
9765	  rb_obj_alloc() can return old object in debug.
9766
9767Thu Mar 19 06:29:28 2015  Koichi Sasada  <ko1@atdot.net>
9768
9769	* test/objspace/test_objspace.rb: flag name was changed
9770	  (long_lived -> uncollectible).
9771
9772Thu Mar 19 05:30:13 2015  Koichi Sasada  <ko1@atdot.net>
9773
9774	* iseq.c (iseq_mark): skip some marking if iseq->orig is available.
9775
9776	* iseq.c (rb_iseq_clone): need WB for iseq1->klass = iseq0->klass
9777	  (done in MEMCPY).
9778
9779Thu Mar 19 04:55:53 2015  Koichi Sasada  <ko1@atdot.net>
9780
9781	* internal.h (IMEMO_DEBUG): added.
9782
9783	* internal.h: remove unused FL_IMEMO_MARK_V[0-3].
9784
9785	* gc.c (rb_imemo_new_debug): added.
9786
9787	* gc.c (obj_info): show imemo type name.
9788
9789Thu Mar 19 04:52:26 2015  Koichi Sasada  <ko1@atdot.net>
9790
9791	* gc.c (RGENGC_OLD_NEWOBJ_CHECK): add check mechanism.
9792
9793	  If RGENGC_OLD_NEWOBJ_CHECK > 0, then create old objects
9794	  (not new objects) periodically.
9795
9796	  Create one old objects per RGENGC_OLD_NEWOBJ_CHECK objects are
9797	  created.
9798
9799Thu Mar 19 04:46:36 2015  Koichi Sasada  <ko1@atdot.net>
9800
9801	* enum.c (enum_sort_by): add WBs.
9802
9803Thu Mar 19 03:37:52 2015  Koichi Sasada  <ko1@atdot.net>
9804
9805	* gc.c (check_rvalue_consistency): refactoring.
9806	  * not inline on RGENGC_CHECK_MODE > 0.
9807	  * check SPECIAL_CONST_P(obj) first.
9808	  * add a check that remembered_bit is only TRUE when old (age == 3).
9809
9810	* gc.c (RVALUE_DEMOTE): should clear RVALUE_REMEMBERED bit.
9811
9812	  remembered_bit should be TRUE only for old (age == 3) objects.
9813
9814	  Actually there are no effect because demoted objects will be
9815	  uncollectible WB unprotected objects (marked at the beginning of
9816	  every minor GC).
9817
9818Thu Mar 19 02:52:48 2015  Koichi Sasada  <ko1@atdot.net>
9819
9820	* gc.c: rename terminologies.
9821	  * long_lived -> uncollectible:
9822	    because this bitmap does not mean "long lived objects in past",
9823	    but means "prohibit collection these objects until next major GC".
9824
9825	    Uncollectible objects consist of two types objects, one is old
9826	    objects (WB protected objects which age == 3) and another is
9827	    uncollectible WB unprotected objects which are referred from old
9828	    objects
9829
9830	  * remembered_wb_unprotected_objects ->
9831	    uncollectible_wb_unprotected_objects:
9832	    because uncollectible objects does not mean remembered objects.
9833
9834Wed Mar 18 17:21:12 2015  Koichi Sasada  <ko1@atdot.net>
9835
9836	* gc.c (gc_writebarrier_generational): add an alternative write
9837	  barrier (WB) implementation.
9838	  When finding reference from [Old obj] to [New obj] by WB, current
9839	  implementation marks [Old obj] as remembered old objects and marks
9840	  children of [Old obj] at the beginning of marking.
9841
9842	  Added (but disabled) code changes current behaviour. This fix promote
9843	  [New obj] to old and marks as a remembered old object. We can assume
9844	  "new objects referred from old objects are maybe long-lived old
9845	  objects".
9846
9847	  Disadvantage of added algorithm is we may promote unwilling
9848	  short-lived objects. For example, consider many new objects push and
9849	  pop to an old stack object. All of new objects (short-lived objects)
9850	  promote to old objects unexpectedly.
9851
9852	  To compare these behaviour, I add this new code (but disabled it).
9853
9854Wed Mar 18 17:14:39 2015  Koichi Sasada  <ko1@atdot.net>
9855
9856	* gc.c (RVALUE_PROMOTE_RAW): rename to RVALUE_OLD_LONG_LIVED_SET()
9857	  to make clear.
9858
9859Wed Mar 18 17:10:01 2015  Koichi Sasada  <ko1@atdot.net>
9860
9861	* gc.c (check_rvalue_consistency): do not need to check is_sweeping().
9862
9863Wed Mar 18 14:13:22 2015  Koichi Sasada  <ko1@atdot.net>
9864
9865	* benchmark/bm_vm1_gc_wb_ary.rb: run GC to finish "marking" phase.
9866
9867	* benchmark/bm_vm1_gc_wb_obj.rb: ditto.
9868
9869	* benchmark/bm_vm1_gc_wb_ary_promoted.rb: add parameter
9870	  full_mark: false to invoke only minor GC.
9871
9872	* benchmark/bm_vm1_gc_wb_obj_promoted.rb: ditto.
9873
9874Wed Mar 18 12:07:36 2015  Koichi Sasada  <ko1@atdot.net>
9875
9876	* string.c: add a comment about RSTRING_FSTR.
9877
9878Wed Mar 18 12:01:53 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9879
9880	* hash.c (rb_any_hash): use same hash values with Float#hash so
9881	  that -0.0 and +0.0 will be identical.
9882	  [ruby-core:68541] [Bug #10979]
9883
9884Wed Mar 18 05:34:32 2015  Koichi Sasada  <ko1@atdot.net>
9885
9886	* string.c: introduce STR_FAKESTR to show string is FAKESTR or not.
9887
9888	* string.c (STR_SET_SHARED): ignore FAKESTR because only Ruby objects
9889	  can use write barrier.
9890
9891Tue Mar 17 18:59:16 2015  Koichi Sasada  <ko1@atdot.net>
9892
9893	* include/ruby/ruby.h: use rb_gc_writebrrier() simply.
9894	  For incremental GC, we need to get a pointer to the objspace.
9895	  We can share this pointer for the following WB process.
9896	  And considering icache hit ratio, process in the GC.
9897
9898	* gc.c (rb_gc_writebarrier): added.
9899
9900	* gc.c (gc_writebarrier_generational, gc_writebarrier_incremental):
9901	  make them NOINLINE because inlining them into rb_gc_writebarrier()
9902	  makes a prologue code of rb_gc_writebarrier() longer (storing callee
9903	  save registers).
9904
9905	  This patch improve the performance of WB on micro-benchmarks.
9906
9907	  name                   ruby 2.1   trunk   modified
9908	  vm1_gc_wb_ary*            0.511   0.632      0.532
9909	  vm1_gc_wb_ary_promoted*   0.578   0.701      0.674
9910	  vm1_gc_wb_obj*            0.419   0.575      0.492
9911	  vm1_gc_wb_obj_promoted*   0.537   0.664      0.618
9912	                                                 (sec)
9913
9914Tue Mar 17 18:51:43 2015  Koichi Sasada  <ko1@atdot.net>
9915
9916	* benchmark/bm_vm1_gc_wb_ary(_promoted).rb: separate fastpath and
9917	  slowpath for WB.
9918
9919	  Before this change bm_vm1_gc_wb_ary.rb tried to check the performance
9920	  for WB slowpath (making a reference from oldobj to newobj). However,
9921	  from Ruby 2.2, 3 GCs are needed to promote new objects because
9922	  only 3 age objects are promoted objects.
9923
9924	  To compare fastpath and slowpath, introduce new "promoted" version
9925	  benchmark.
9926
9927	  bm_vm1_gc_wb_ary.rb is for fastpath and
9928	  bm_vm1_gc_wb_ary_promoted.rb is for slowpath.
9929
9930	* benchmark/bm_vm1_gc_wb_obj(_promoted).rb: ditto.
9931
9932Tue Mar 17 17:23:11 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9933
9934	* dir.c (glob_helper): distinguish not-yet-stated and DT_UNKNOWN
9935	  by readdir, and traverse recursively for the former.  Linux
9936	  readdir returns DT_UNKNOWN on some filesystems, e.g., smbfs,
9937	  iso9660.
9938
9939Mon Mar 16 17:43:21 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
9940
9941	* lib/webrick/server.rb: Fix regression bug in WEBrick's
9942	  :DoNotReverseLookup config option implementation.
9943	  [fix GH-731] Patch by @vais
9944	* test/webrick/test_do_not_reverse_lookup.rb: ditto.
9945
9946Sat Mar 14 20:05:23 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
9947
9948	* math.c (math_gamma): optimization for passed small integer.
9949
9950Sat Mar 14 18:07:23 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
9951
9952	* enum.c: [DOC] Fixes Enumerable#member? documentation
9953	  [fix GH-756][ci skip] Patch by @shamanime
9954
9955Sat Mar 14 12:23:53 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9956
9957	* dir.c (glob_helper): use d_type to reduce lstat system calls.
9958
9959	* win32/dir.h (struct direct): add d_type instead of d_isdir and
9960	  d_isrep.  SYMLINKD is unreliable, since the target can be
9961	  replaced after a link was created.
9962
9963	* win32/win32.c (readdir_internal): set d_type.
9964
9965Sat Mar 14 02:14:50 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9966
9967	* parse.y (primary): empty parentheses at cmdarg can be null.
9968	  [ruby-core:68477] [Bug #10957]
9969
9970Fri Mar 13 15:04:36 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9971
9972	* ext/stringio/stringio.c (strio_close): don't raise on double
9973	  close for consistent to IO#close.
9974
9975Fri Mar 13 15:03:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9976
9977	* io.c (rb_io_close_read, rb_io_close_write): don't raise after
9978	  close same as IO#close.
9979
9980Fri Mar 13 12:29:07 2015  Tanaka Akira  <akr@fsij.org>
9981
9982	* test/readline/test_readline.rb: Restore environment variables:
9983	  COLUMNS LINES
9984
9985Fri Mar 13 11:37:46 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
9986
9987	* ext/fiddle/extconf.rb: needs --enable-shared when linked to
9988	  libruby or fiddle.so.  since --with-static-linked-ext does no
9989	  longer link extensions to ruby program with --enable-shared, the
9990	  only combination needs --enable-static is --disable-shared and
9991	  --with-static-linked-ext.  [ruby-dev:48901] [Bug #10960]
9992
9993Fri Mar 13 07:02:20 2015  Eric Wong  <e@80x24.org>
9994
9995	* ext/socket/init.c (rsock_s_accept_nonblock): use rb_hash_lookup2
9996	* ext/openssl/ossl_ssl.c (get_no_exception): new function
9997	  (ossl_ssl_accept_nonblock): use get_no_exception
9998	  (ossl_ssl_read_internal): ditto
9999	  (ossl_ssl_write_nonblock): ditto
10000	  [ruby-core:68511]
10001
10002Fri Mar 13 07:01:38 2015  Eric Wong  <e@80x24.org>
10003
10004	* ext/openssl/ossl_ssl.c: predefine wait_*able symbols
10005
10006Thu Mar 12 22:59:53 2015  Tanaka Akira  <akr@fsij.org>
10007
10008	* test/lib/leakchecker.rb: Check environment variables.
10009
10010Thu Mar 12 05:54:27 2015  Eric Wong  <e@80x24.org>
10011
10012	* ext/socket/init.c (rsock_s_accept_nonblock):
10013	  support exception: false
10014	  [ruby-core:66385] [Feature #10532]
10015	* ext/socket/init.c (rsock_init_socket_init): define new symbols
10016	* ext/socket/rubysocket.h: adjust prototype
10017	* ext/socket/socket.c (sock_accept_nonblock): support exception: false
10018	* ext/openssl/ossl_ssl.c (ossl_ssl_accept_nonblock): ditto
10019	* ext/socket/socket.c (Init_socket): adjust accept_nonblock definition
10020	* ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto
10021	* ext/socket/tcpserver.c (rsock_init_tcpserver): ditto
10022	* ext/socket/unixserver.c (rsock_init_unixserver): ditto
10023	* ext/socket/tcpserver.c (tcp_accept_nonblock): adjust
10024	  rsock_s_accept_nonblock call
10025	* ext/socket/unixserver.c (unix_accept_nonblock): ditto
10026	* ext/openssl/ossl_ssl.c (ossl_start_ssl): support no_exception
10027	* ext/openssl/ossl_ssl.c (ossl_ssl_connect): adjust ossl_start_ssl call
10028	* ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): ditto
10029	* ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto
10030	* test/socket/test_nonblock.rb (test_accept_nonblock): test for
10031	  "exception :false"
10032	* test/socket/test_tcp.rb (test_accept_nonblock): new test
10033	* test/socket/test_unix.rb (test_accept_nonblock): ditto
10034	* test/openssl/test_pair.rb (test_accept_nonblock_no_exception): ditto
10035
10036Thu Mar 12 10:53:06 2015  Koichi Sasada  <ko1@atdot.net>
10037
10038	* internal.h, node.h: move a definition of `struct rb_global_entry'
10039	  and related functions from node.h to internal.h.
10040
10041	* variable.c: remove unused include pragma.
10042
10043	* common.mk: remove unused dependency.
10044
10045Thu Mar 12 10:32:39 2015  Koichi Sasada  <ko1@atdot.net>
10046
10047	* common.mk: remove unused dependency.
10048
10049Thu Mar 12 08:20:14 2015  Koichi Sasada  <ko1@atdot.net>
10050
10051	* load.c: removed unused header file "node.h".
10052
10053	* method.h: ditto.
10054
10055	* symbol.c: ditto.
10056
10057Thu Mar 12 08:14:48 2015  Koichi Sasada  <ko1@atdot.net>
10058
10059	* gc.c: RGENGC_CHECK_MODE should be 0.
10060
10061Thu Mar 12 07:44:17 2015  Koichi Sasada  <ko1@atdot.net>
10062
10063	* internal.h: use T_IMEMO to represent `struct MEMO' value.
10064	  memo->v1 and memo->v2 is WB protected values.
10065	  So use MEMO_V1/V2_SET() macros to set these values.
10066	  memo->u3 is ambiguous (sometimes a VALUE, sometimes an integer
10067	  value), so use gc_mark_maybe() in gc.c to mark it.
10068
10069	  Rename NEW_MEMO() to MEMO_NEW().
10070
10071	  Move MEMO_FOR and NEW_MEMO_FOR macros from node.h.
10072
10073	  Export a rb_imemo_new() function for ext/ripper.
10074
10075	* node.h: remove NODE_MEMO.
10076
10077	* enum.c: catch up these change.
10078
10079	* enumerator.c: ditto.
10080
10081	* load.c: ditto.
10082
10083	* ext/objspace/objspace.c (count_nodes): ditto.
10084
10085	* gc.c (gc_mark_children): mark imemo_memo type.
10086
10087	* parse.y (new_args_gen): use T_IMEMO.
10088	  (I'm not sure it is working correctly...)
10089
10090Wed Mar 11 22:36:34 2015  Koichi Sasada  <ko1@atdot.net>
10091
10092	* eval.c (frame_called_id): it should use vm_ifunc type.
10093
10094	* eval.c (frame_func_id): ditto.
10095
10096Wed Mar 11 22:27:05 2015  Koichi Sasada  <ko1@atdot.net>
10097
10098	* node.h: remove NODE_IFUNC, NEW_IFUNC.
10099
10100	* internal.h: use T_IMEMO for IFUNC.
10101
10102	  rename `struct IFUNC' to `struct vm_ifunc' and move the definition
10103	  from vm_insnhelper.h. Add imemo_ifunc.
10104
10105	* gc.c (gc_mark_children): mark imemo_ifunc type T_IMEMO object.
10106
10107	* compile.c: catch up these changes.
10108
10109	* proc.c: ditto.
10110
10111	* vm_core.h (RUBY_VM_IFUNC_P): ditto.
10112
10113	* vm_eval.c (rb_iterate): ditto.
10114
10115	* vm_insnhelper.c: ditto.
10116
10117	* ext/objspace/objspace.c: ditto.
10118
10119Wed Mar 11 21:53:43 2015  Koichi Sasada  <ko1@atdot.net>
10120
10121	* internal.h, eval_intern.h: move CREF accessors.
10122
10123	  List IMEMO supported types in internal.h.
10124
10125Wed Mar 11 21:45:36 2015  Koichi Sasada  <ko1@atdot.net>
10126
10127	* vm_insnhelper.h: use T_IMEMO to create THROW_DATA.
10128
10129	  Add THROW_DATA_NEW().
10130
10131	* internal.h: move definition of `struct THROW_DATA'
10132	  from vm_insnhelper.h to internal.h.
10133
10134	  Rename `THROW_DATA' to `vm_throw_data'.
10135
10136	* eval_intern.h (THROW_DATA_P): move to internal.h.
10137	  THROW_DATA is no longer T_NODE, so check T_IMEMO.
10138
10139	* gc.c (gc_mark_children): mark THROW_DATA.
10140
10141	* vm.c: catch up these changes.
10142
10143	* vm_eval.c: ditto.
10144
10145	* vm_insnhelper.c: ditto.
10146
10147Wed Mar 11 21:21:56 2015  Koichi Sasada  <ko1@atdot.net>
10148
10149	* vm_insnhelper.c: use T_IMEMO to create SVAR.
10150
10151	* internal.h, vm_insnhelper.h: move definition `struct SVAR'
10152	  from vm_insnhelper.h to internal.h. And rename it to struct vm_svar.
10153
10154	  new imemo_type imemo_svar is added.
10155
10156	* gc.c (gc_mark_children): mark imemo_svar.
10157
10158	* node.c (rb_gc_mark_node): remove useless marking.
10159
10160Wed Mar 11 19:35:46 2015  Koichi Sasada  <ko1@atdot.net>
10161
10162	* include/ruby/ruby.h: introduce new type T_IMEMO.
10163	  T_IMEMO is Internal Memo type, internal use only.
10164	  T_IMEMO has same purpose of NODE_MEMO.
10165
10166	  To insert T_IMEMO, type numbers are modified a little.
10167
10168	* internal.h: define struct RIMemo. Each RIMemo objects
10169	  has imemo_type. We can observe it by the imemo_type() function.
10170
10171	* gc.c (rb_imemo_new): added.
10172
10173	* node.h: remove NODE_CREF and NEW_CREF().
10174
10175	* node.c (rb_gc_mark_node): ditto.
10176
10177	* vm.c (vm_cref_new): use rb_imem_new().
10178
10179	* vm_eval.c: ditto.
10180
10181	* vm_insnhelper.c: use RIMemo objects for CREF.
10182
10183	* ext/objspace/objspace.c: support T_IMEMO.
10184
10185Wed Mar 11 17:03:20 2015  Koichi Sasada  <ko1@atdot.net>
10186
10187	* gc.c: fix memory leak by prepend method.
10188
10189	  It is easy to reproduce with such script:
10190
10191	    module M; def bar; end; end
10192	    loop{
10193	      Class.new do
10194	        def foo; end
10195	        prepend M
10196	      end
10197	    }
10198
10199	* gc.c (obj_free): free T_ICLASS::m_tbl if it is created by prepend.
10200	  To recognize it, check RICLASS_IS_ORIGIN flag.
10201
10202	* gc.c (gc_mark_children): T_ICLASS objects only need to mark
10203	  T_ICLASS::m_tbl if RICLASS_IS_ORIGIN is set.
10204
10205	* gc.c (obj_memsize_of): count T_ICLASS if RICLASS_IS_ORIGIN is set.
10206
10207	* internal.h (RCLASS_SET_ORIGIN): add to set RCLASS_SET_ORIGIN.
10208
10209	  TODO: The word `origin' seems not good name. We need to invent
10210	  another good name.
10211
10212	* class.c: use RCLASS_SET_ORIGIN().
10213
10214	* class.c (class_alloc): zero clear rb_classext_t.
10215
10216Wed Mar 11 13:28:49 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10217
10218	* configure.in: check also procstat_getvmmap, which is not
10219	  available on FreeBSD 9.  [ruby-core:68468] [Bug #10954]
10220
10221	* vm_dump.c (procstat_vm): use kinfo_getvmmap instead if
10222	  procstat_getvmmap is not available.
10223
10224Wed Mar 11 09:15:21 2015  Koichi Sasada  <ko1@atdot.net>
10225
10226	* internal.h: define struct MEMO.
10227
10228	* enum.c: use MEMO.
10229
10230	* enumerator.c: ditto.
10231
10232	* load.c: ditto.
10233
10234	* node.h: return (struct MEMO *) pointer.
10235
10236Wed Mar 11 06:26:21 2015  Koichi Sasada  <ko1@atdot.net>
10237
10238	* vm_insnhelper.h (THROW_DATA_STATE): return int, not VALUE.
10239
10240	* vm_insnhelper.h (THROW_DATA_STATE_SET): accept int value.
10241
10242Wed Mar 11 05:06:46 2015  Koichi Sasada  <ko1@atdot.net>
10243
10244	* vm_eval.c (rb_catch_protect): use THROW_DATA_VAL().
10245
10246Wed Mar 11 04:56:04 2015  Koichi Sasada  <ko1@atdot.net>
10247
10248	* vm_insnhelper.h: define struct IFUNC.
10249
10250	* vm_eval.c (rb_iterate): use it.
10251
10252	* vm_insnhelper.c (vm_yield_with_cfunc): ditto.
10253
10254Wed Mar 11 03:52:12 2015  Koichi Sasada  <ko1@atdot.net>
10255
10256	* eval_intern.h (THROW_DATA_P): use RB_TYPE_P() instead of
10257	  BUILTIN_TYPE().
10258
10259	* thread.c (thread_join): use THROW_DATA_P().
10260
10261Wed Mar 11 03:48:01 2015  Koichi Sasada  <ko1@atdot.net>
10262
10263	* proc.c: use RUBY_VM_IFUNC_P() to recognize IFUNC or not.
10264
10265	* vm.c: ditto.
10266
10267	* vm_dump.c: ditto.
10268
10269	* vm_insnhelper.c: ditto.
10270
10271	* vm_core.h (RUBY_VM_IFUNC_P): use RB_TYPE_P() instead of
10272	  BUILTIN_TYPE().
10273
10274Wed Mar 11 03:21:37 2015  Koichi Sasada  <ko1@atdot.net>
10275
10276	* vm_insnhelper.h: define struct THROW_DATA to represent
10277	  throwing data. Also define accessor functions.
10278
10279	* eval_intern.h: move related changes into vm_insnhelper.h.
10280	  Now these MACROs (functions) are only used in vm*.c.
10281
10282	  There is only THROW_DATA_P(err) to check this data type or not.
10283
10284	* vm.c: catch up these changes.
10285
10286	* vm_eval.c: ditto.
10287
10288	* vm_insnhelper.c: ditto.
10289
10290Wed Mar 11 00:57:00 2015  Rei Odaira  <Rei.Odaira@gmail.com>
10291
10292	* test/rubygems/test_gem_security_trust_dir.rb: The return value of
10293	  File::Stat#mode is OS dependent. In AIX, 0200000 is set.
10294
10295Tue Mar 10 20:03:41 2015  Tanaka Akira  <akr@fsij.org>
10296
10297	* lib/webrick/server.rb: Invoke setup_shutdown_pipe in start method
10298	  instead of listen method.
10299	  [ruby-core:68476] [Bug #10956] Reported by Shintaro Kojima.
10300
10301Tue Mar 10 17:27:27 2015  Koichi Sasada  <ko1@atdot.net>
10302
10303	* thread.c (thread_join): Fixnum (except TAG_FATAL) and
10304	  NODE should not be reached here.
10305
10306Mon Mar  9 21:42:10 2015  Koichi Sasada  <ko1@atdot.net>
10307
10308	* vm_insnhelper.c (ep_cref): rename to lep_cref() because it should be
10309	  local ep.
10310
10311Mon Mar  9 16:34:36 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10312
10313	* ext/stringio/stringio.c (strio_close): don't raise on double
10314	  close for consistent to IO#close.
10315
10316Mon Mar 09 06:44:48 2015  Koichi Sasada  <ko1@atdot.net>
10317
10318	* vm_insnhelper.h: define struct SVAR for SVAR.
10319	  This data type is also same layout of NODE (NODE_IF).
10320
10321	* vm_insnhelper.c: catch up this change.
10322
10323Mon Mar  9 06:43:21 2015  Koichi Sasada  <ko1@atdot.net>
10324
10325	* vm_insnhelper.c (lep_svar_set): add WBs.
10326
10327Mon Mar  9 06:19:06 2015  Koichi Sasada  <ko1@atdot.net>
10328
10329	* internal.h: define rb_cref_t and change to use it.
10330
10331	  rb_cref_t is data type of CREF. Now, the body is still NODE.
10332	  It is easy to understand what is CREF and what is pure NODE.
10333
10334Mon Mar  9 06:00:37 2015  Koichi Sasada  <ko1@atdot.net>
10335
10336	* vm_insnhelper.h (COPY_CREF_OMOD): fix translation miss.
10337
10338Mon Mar  9 04:47:58 2015  Koichi Sasada  <ko1@atdot.net>
10339
10340	* internal.h: define CREF accessor macros.
10341	  * CREF_CLASS(cref)
10342	  * CREF_NEXT(cref)
10343	  * CREF_VISI(cref)
10344	  * CREF_VISI_SET(cref, v)
10345	  * CREF_REFINEMENTS(cref)
10346	  * CREF_PUSHED_BY_EVAL(cref)
10347	  * CREF_PUSHED_BY_EVAL_SET(cref)
10348	  * CREF_OMOD_SHARED(cref)
10349	  * CREF_OMOD_SHARED_SET(cref)
10350	  * CREF_OMOD_SHARED_UNSET(cref)
10351
10352	  This is process to change CREF data type from NODE.
10353
10354Sun Mar  8 22:50:57 2015  Tanaka Akira  <akr@fsij.org>
10355
10356	* ext/zlib/zlib.c (rb_gzfile_close): Don't raise on double
10357	  close for consistent to IO#close.
10358
10359Sun Mar  8 16:57:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10360
10361	* dir.c (glob_helper): match patterns against legacy short names
10362	  too, not only ordinary names.  [ruby-core:67954] [Bug #10819]
10363
10364	* win32/dir.h (struct direct): add short name members.
10365
10366	* win32/win32.c (opendir_internal, readdir_internal): ditto.
10367
10368Sat Mar  7 09:36:05 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10369
10370	* array.c: document that first element is kept when using
10371	  Array#uniq and #uniq! [fix GH-845][ci skip]
10372	  Patch by @riffraff
10373
10374Sat Mar  7 09:28:02 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10375
10376	* thread.c: Mutex#owned? is no longer experimental since 2.1.0
10377	  [fix GH-839][ci skip] Patch by @takiy33
10378
10379Sat Mar  7 09:18:42 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10380
10381	* tool/merger.rb: Added documentation to version method.
10382	  [fix GH-847][ci skip] Patch by @magikid
10383
10384Fri Mar  6 22:50:36 2015  Koichi Sasada  <ko1@atdot.net>
10385
10386	* class.c (rb_prepend_module): need a WB for klass -> origin.
10387
10388Fri Mar  6 20:18:38 2015  Koichi Sasada  <ko1@atdot.net>
10389
10390	* fix namespace issue on singleton class expressions. [Bug #10943]
10391
10392	* vm_core.h, method.h: remove rb_iseq_t::cref_stack. CREF is stored
10393	  to rb_method_definition_t::body.iseq_body.cref.
10394
10395	* vm_insnhelper.c: modify SVAR usage.
10396	  When calling ISEQ type method, push CREF information onto method
10397	  frame, SVAR located place. Before this fix, SVAR is simply nil.
10398	  After this patch, CREF (or NULL == Qfalse for not iseq methods)
10399	  is stored at the method invocation.
10400
10401	  When SVAR is required, then put NODE_IF onto SVAR location,
10402	  and NDOE_IF::nd_reserved points CREF itself.
10403
10404	* vm.c (vm_cref_new, vm_cref_dump, vm_cref_new_toplevel): added.
10405
10406	* vm_insnhelper.c (vm_push_frame): accept CREF.
10407
10408	* method.h, vm_method.c (rb_add_method_iseq): added. This function
10409	  accepts iseq and CREF.
10410
10411	* class.c (clone_method): use rb_add_method_iseq().
10412
10413	* gc.c (mark_method_entry): mark method_entry::body.iseq_body.cref.
10414
10415	* iseq.c: remove CREF related codes.
10416
10417	* insns.def (getinlinecache/setinlinecache): CREF should be cache key
10418	  because a different CREF has a different namespace.
10419
10420	* node.c (rb_gc_mark_node): mark NODE_IF::nd_reserved for SVAR.
10421
10422	* proc.c: catch up changes.
10423
10424	* struct.c: ditto.
10425
10426	* insns.def: ditto.
10427
10428	* vm_args.c (raise_argument_error): ditto.
10429
10430	* vm_eval.c: ditto.
10431
10432	* test/ruby/test_class.rb: add a test.
10433
10434Fri Mar  6 18:19:13 2015  Koichi Sasada  <ko1@atdot.net>
10435
10436	* test/webrick/test_filehandler.rb: on vboxsf (on VirtualBox
10437	  on Windows 7), file name and permissions are strange (can access
10438	  by short file name and so on).
10439
10440	  Simply skip on such tests on such FS. To detect strange FS, this
10441	  patch use a part of code `File.executable?(__FILE__)`.
10442	  Please correct them if there are better ways.
10443
10444Fri Mar  6 17:31:29 2015  Koichi Sasada  <ko1@atdot.net>
10445
10446	* test/ruby/test_beginendblock.rb: do not change directory.
10447
10448	  Run system command in the directory mounted by vboxsf on Windows 7
10449	  and get warning like that "warning: Insecure world writable dir...".
10450
10451Fri Mar  6 10:31:00 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10452
10453	* vm_eval.c (vm_call_super): search next super class from the
10454	  original class, to get rid of infinite recursion with
10455	  prepending.  a patch by Seiei Higa <hanachin AT gmail.com> at
10456	  [ruby-core:68434].  [ruby-core:68093] [Bug #10847]
10457
10458Fri Mar  6 08:45:26 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
10459
10460	* lib/matrix.rb: Add Vector#round. Patch by Jordan Stephens.
10461	  [Fixes GH-802]
10462
10463Fri Mar  6 07:33:03 2015  Koichi Sasada  <ko1@atdot.net>
10464
10465	* gc.c (obj_info): show node name too.
10466
10467Fri Mar  6 07:00:44 2015  Koichi Sasada  <ko1@atdot.net>
10468
10469	* internal.h: remove struct method_table_wrapper.
10470	  struct method_table_wrapper was introduced to avoid duplicate marking
10471	  for method tables.
10472
10473	  For example, `module M1; def foo; end; end` make one method table
10474	  (mtbl) contains a method `foo`. M1 (T_MODULE) points mtbl.
10475	  Classes C1 and C2 includes M1, then two T_ICLASS objects are created
10476	  and they points mtbl too. In this case, three objects (one T_MODULE
10477	  and two T_ICLASS objects) points same mtbl. On marking phase, these
10478	  three objects mark same mtbl. To avoid such duplication, struct
10479	  method_table_wrapper was introduced.
10480
10481	  However, created two T_ICLASS objects have same or shorter lifetime
10482	  than M1 (T_MODULE) object. So that we only need to mark mtbl from M1,
10483	  not from T_ICLASS objects. This patch tries marking only from M1.
10484	  In other words, original module (M1) has responsibility to mark mtbl.
10485	  Because of no duplicate marking, we don't need method_table_wrapper
10486	  any more.
10487
10488	  Note that one `Module#prepend` call creates two T_ICLASS objects.
10489	  One for referring to a prepending Module object, same as
10490	  `Module#include`. We don't need to care this T_ICLASS.
10491	  One for moving original mtbl from a prepending class. We need to
10492	  mark such mtbl from this T_ICLASS object. To mark the mtbl,
10493	  we need to use `RCLASS_ORIGIN(klass)` on marking from a prepended
10494	  class `klass`.
10495
10496	* class.c: ditto.
10497
10498	* eval.c (rb_using_refinement): ditto.
10499
10500	* gc.c: ditto.
10501
10502	* include/ruby/ruby.h: define m_tbl directly. The definition of
10503	  struct RClass should be moved to (srcdir)/internal.h.
10504
10505	* method.h: remove decl of rb_free_m_tbl_wrapper().
10506
10507	* object.c: use RCLASS_M_TBL() directly.
10508
10509Fri Mar  6 02:50:12 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
10510
10511	* dir.c (replace_real_basename): need to check the return value of
10512	  GLOB_REALLOC().
10513
10514Fri Mar  6 02:26:03 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
10515
10516	* dir.c (replace_real_basename): shouldn't create Ruby object before
10517	  the object system is loaded.
10518	  [ruby-core:68430] [Bug #10941]
10519
10520Wed Mar  5 16:58:43 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
10521
10522	* hash.c: [DOC] #delete method actually returns nil, if the key
10523	  is not found. [fix GH-844][ci skip] Patch by @ivdma
10524
10525Wed Mar  5 12:22:23 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
10526
10527	* math.c: refactoring: remove unnecessary variable d0 to unify code
10528	  appearance.
10529
10530Thu Mar  5 11:50:54 2015  Shugo Maeda  <shugo@ruby-lang.org>
10531
10532	* vm_eval.c (eval_string_with_cref): A binding should keep
10533	  refinements activation information and the refinements should be
10534	  activated in subsequent eval calls with the binding.
10535	  [ruby-core:67945] [Bug #10818]
10536
10537Thu Mar  5 11:16:55 2015  Shugo Maeda  <shugo@ruby-lang.org>
10538
10539	* test/ruby/test_refinement.rb: There is no need anymore to suppress
10540	  warnings.
10541
10542Thu Mar  5 08:31:02 2015  Rei Odaira  <Rei.Odaira@gmail.com>
10543
10544	* random.c (random_raw_seed): Avoid calling fill_random_bytes()
10545	  if the requested size is 0. AIX returns -1 for 0-byte read from
10546	  /dev/urandom, while other UNIX returns 0. With this change,
10547	  Random.raw_seed(0) consistently returns "" in any UNIX.
10548
10549Wed Mar  4 12:43:32 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
10550
10551	* test/ruby/test_math.rb (assert_float_and_int): Refactor test cases
10552	  by introducing assert_float_and_int. [misc #10810]
10553
10554Wed Mar  4 11:52:30 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10555
10556	* symbol.c (Init_sym): make dsym_fstrs a hash compared by identity
10557	  as the keys are unique fstrings, to get rid of running hash and
10558	  compare methods and causing new object allocation during garbage
10559	  collection phase.  [ruby-dev:48891] [Bug #10933]
10560
10561Wed Mar  4 10:16:57 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10562
10563	* enum.c: Fix typo in slice_after's exception message.
10564	  [fix GH-842][ci skip] Patch by @jsyeo
10565
10566Wed Mar  4 10:15:37 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10567
10568	* doc/syntax/methods.rdoc: add some missing spaces and
10569	  fix a grammatical error in method docs.
10570	  [fix GH-843][ci skip] Patch by @nikolas
10571
10572Wed Mar  4 02:13:06 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
10573
10574	* tool/redmine-backporter.rb (backport_command_string): pick up only
10575	  when the revision exists in trunk.
10576
10577Wed Mar  4 00:44:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10578
10579	* thread.c (rb_thread_io_blocking_region): assigned variables
10580	  inside EXEC_TAG() should be volatile.
10581
10582	* thread.c (rb_thread_s_handle_interrupt): ditto.
10583
10584	* thread.c (exec_recursive): ditto.
10585
10586Wed Mar  4 00:29:18 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
10587
10588	* tool/redmine-backporter.rb: now can specify shorten form of commands.
10589
10590Tue Mar  3 23:41:42 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
10591
10592	* tool/redmine-backporter.rb (Readline.readline): drop untreated control
10593	  characters.
10594
10595Tue Mar  3 22:25:24 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
10596
10597	* test/lib/envutil.rb (EnvUtil.invoke_ruby): need to rescue because
10598	  Signal.signame may raise exception.
10599
10600Tue Mar  3 16:57:39 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
10601
10602	* tool/redmine-backporter.rb: use 'b' instead of 's' for showing
10603	  Backport options for merger.rb.
10604
10605Tue Mar  3 16:55:23 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
10606
10607	* tool/redmine-backporter.rb: show selected ticket number at prompt.
10608
10609Tue Mar  3 14:47:30 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
10610
10611	* math.c (num2dbl_with_to_f): direct casting from Rational to double.
10612	  [Feature #10909]
10613
10614	* test/ruby/test_math.rb: add tests for the above change.
10615
10616Tue Mar  3 07:52:20 2015  Rei Odaira  <Rei.Odaira@gmail.com>
10617
10618	* test/ruby/test_symbol.rb: avoid a false positive in AIX.
10619
10620Tue Mar  3 00:59:39 2015  Naohisa Goto  <ngotogenome@gmail.com>
10621
10622	* configure.in: set PRELOADENV in Solaris to avoid "wrong ELF class"
10623	  error. [Bug #10926] [ruby-dev:48888]
10624	* configure.in: set LIBPATHENV for 32-bit compile in Solaris
10625	  in addition to 64-bit.
10626
10627Mon Mar  2 15:36:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10628
10629	* configure.in: do not check _setjmp unless _longjmp is available,
10630	  so that configure results will not be changed by cache.
10631
10632Mon Mar  2 14:44:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10633
10634	* configure.in (RUBY_REPLACE_TYPE): restore unsigned type from
10635	  cached variable only if the target type is not available.
10636
10637Mon Mar  2 13:04:27 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10638
10639	* signal.c (sig_signame): return nil if the argument is a valid
10640	  signal number.
10641
10642Mon Mar  2 12:05:04 2015  Naohisa Goto  <ngotogenome@gmail.com>
10643
10644	* test/net/ftp/test_ftp.rb (create_ftp_server): set SO_OOBINLINE
10645	  for receiving OOB data which is sent with MSG_OOB flag in
10646	  portable way. [Bug #10915] [ruby-dev:48885]
10647	* test/net/ftp/test_ftp.rb (test_abort, test_status): use gets
10648	  for receiving OOB data in portable way.
10649
10650Mon Mar  2 11:43:07 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10651
10652	* configure.in (RUBY_REPLACE_TYPE): restore unsigned type from
10653	  cached variable.
10654
10655Mon Mar  2 06:01:41 2015  Eric Wong  <e@80x24.org>
10656
10657	* ext/io/wait/wait.c (io_nread): wrap return value with INT2FIX
10658	  Thanks to Yura Sokolov <funny.falcon@gmail.com>
10659	  [ruby-core:68369] [Bug#10923]
10660	* test/io/wait/test_io_wait.rb (test_nread_buffered):
10661	  fix broken test
10662
10663Sun Mar  1 20:21:16 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10664
10665	* configure.in (RUBY_REPLACE_TYPE): restore convertible type from
10666	  cached variable, so that configured results will be stable.
10667
10668Sun Mar  1 18:10:34 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10669
10670	* configure.in (rb_cv_broken_memmem): check before adding the
10671	  result HAVE_MEMMEM macro to confdefs.h, so that configured
10672	  results will be stable.
10673
10674Sun Mar  1 11:17:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10675
10676	* gc.c (id2ref): prohibit from accessing internal objects.
10677	  [ruby-core:68348] [Bug #10918]
10678
10679Sun Mar  1 09:06:11 2015  Tanaka Akira  <akr@fsij.org>
10680
10681	* lib/time.rb (strptime): Support %s.%N.
10682	  [ruby-core:68301] [Bug #10904] Patch by Sadayuki Furuhashi.
10683
10684Sat Feb 28 17:18:39 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10685
10686	* enum.c (enum_each_slice, enum_each_cons): limit elements size by
10687	  the enumerator size.  suggested by Hans Mackowiak <hanmac AT
10688	  gmx.de> at [ruby-core:68335]
10689
10690Sat Feb 28 15:44:20 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10691
10692	* vm_dump.c (rb_vm_bugreport): get rid of making new strings
10693	  inside signal context.
10694
10695	* variable.c (rb_tmp_class_path): defer making temporary class
10696	  path string.
10697
10698	* variable.c (rb_search_class_path): search class path or return
10699	  Qnil or Qfalse if unnamed, not creating a temporary path.
10700
10701Sat Feb 28 15:02:02 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10702
10703	* variable.c (rb_tmp_class_path): preserve name encoding of an
10704	  anonymous instance of module/class subclass.
10705
10706Sat Feb 28 08:24:30 2015  Rei Odaira  <Rei.Odaira@gmail.com>
10707
10708	* ext/pty/pty.c: AIX supports autopush.
10709	  Patch by Perry Smith [ruby-core:58539] [Bug #9144]
10710
10711Fri Feb 27 22:00:05 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10712
10713	* lib/rubygems: Update to RubyGems 2.4.6 and HEAD(800f2e6).
10714	  Fixed #1159, #1171, #1173 on rubygems/rubygems
10715	* test/rubygems: ditto.
10716
10717Fri Feb 27 20:55:42 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10718
10719	* lib/rake: Update to rake (9237e74), typo fix and remove needless
10720	  private syntax.
10721	* test/rake: ditto.
10722
10723Fri Feb 27 17:06:44 2015  Koichi Sasada  <ko1@atdot.net>
10724
10725	* vm_core.h: define vm_svar_index.
10726
10727	* vm_insnhelper.c, vm.c, compile.c: use vm_svar_index names.
10728
10729	* iseq.h: remove DEFAULT_SPECIAL_VAR_COUNT.
10730	  use VM_SVAR_FLIPFLOP_START instead.
10731
10732Fri Feb 27 13:57:48 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10733
10734	* io.c (setup_narg): wipe away expanded part of buffer to get rid
10735	  of revealing uncleaned data.  reported by Dongkwan Kim <dkay AT
10736	  kaist.ac.kr>.
10737
10738Wed Feb 25 22:25:07 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10739
10740	* spec/default.mspec: use default configuration file name.
10741	  https://github.com/ruby/rubyspec/commit/cc69f337b06362e5607ffa3e3ad40ef7494960cf
10742
10743Wed Feb 25 22:21:56 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10744
10745	* spec/default.mspec: remove specific version number.
10746	  https://github.com/ruby/rubyspec/commit/7a909e925c1baa9c700bd44af9241aef6e596714
10747
10748Wed Feb 25 22:04:04 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
10749
10750	* ext/win32/Win32API.rb (initialize): accept both a string and an array
10751	  for the arguments of the imported function.
10752	  reported by Aaron Stone [ruby-core:68208] [Bug #10876] [Fixes GH-835]
10753
10754Wed Feb 25 18:12:11 2015  Eric Wong  <e@80x24.org>
10755
10756	* signal.c (sighandler): preserve errno
10757	  Patch by Steven Stewart-Gallus <sstewartgallus00@mylangara.bc.ca>
10758	  [ruby-core:68172] [Bug #10866]
10759
10760Wed Feb 25 15:59:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10761
10762	* dir.c (push_pattern, push_glob): make globbed file names same
10763	  encoding to the given pattern.
10764
10765Wed Feb 25 15:27:16 2015  NARUSE, Yui  <naruse@ruby-lang.org>
10766
10767	* tool/merger.rb: support 2.1+ versioning scheme.
10768
10769Tue Feb 25 08:49:12 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
10770
10771	* lib/cmath.rb (log): raise ArgumentError when more than 2 arguments
10772	  are passed. [ruby-core:66143] [Bug #10487]
10773
10774Tue Feb 25 02:15:17 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
10775
10776	* test/ruby/test_math.rb: Use assert_infinity instead of assert_equal(1.0/0, ...).
10777
10778	* test/ruby/test_math.rb: Add tests for overriding Integer#to_f.
10779	  [ruby-core:67919] [Misc #10809]
10780
10781Tue Feb 24 22:58:48 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10782
10783	* complex.c (nucomp_mul): calculate as rotation in complex plane
10784	  if matrix calculation resulted in NaN.
10785
10786Tue Feb 24 21:45:39 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
10787
10788	* test/ruby/test_math.rb(test_cbrt): Add an assertion for Math.cbrt(1.0/0)
10789	  and move #test_cbrt to more proper place.
10790
10791Tue Feb 24 19:09:25 2015  Koichi Sasada  <ko1@atdot.net>
10792
10793	* vm_insnhelper.c (lep_svar_place, lep_svar_get): do not create
10794	  additional T_NODE object (svars holder) when only getting
10795	  svars.
10796
10797Tue Feb 24 11:49:48 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10798
10799	* time.c (time_zone_name): should be US-ASCII only if all 7-bits,
10800	  otherwise locale encoding.  [ruby-core:68230] [Bug #10887]
10801
10802Tue Feb 24 09:47:07 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10803
10804	* string.c (chompped_length): enable smart chomp for all non-dummy
10805	  encoding strings, not only default_rs.
10806	  [ruby-core:68258] [Bug #10893]
10807
10808Mon Feb 23 23:19:42 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10809
10810	* tool/vcs.rb (IO.popen): support :chdir option.
10811
10812	* tool/vcs.rb (VCS::GIT.get_revisions): use :chdir option instead
10813	  of -C option which is not supported by older git.
10814	  [ruby-dev:48880] [Bug #10890]
10815
10816Mon Feb 23 15:26:39 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10817
10818	* string.c (rb_str_split_m): raise ArgumentError at broken string
10819	  not RegexpError, as Regexp is not involved in.
10820	  [ruby-core:68229] [Bug #10886]
10821
10822Mon Feb 23 07:25:29 2015  Benoit Daloze  <eregontp@gmail.com>
10823
10824	* time.c: Zone encoding should be US-ASCII if all 7-bits. Fix r46907.
10825
10826	* test/ruby/test_time.rb, test/ruby/test_time_tz.rb: Update tests.
10827
10828Sun Feb 22 18:33:42 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10829
10830	* common.mk: use ruby organization for rubyspec.
10831
10832Sun Feb 22 15:56:06 2015  Kazuki Tsujimoto  <kazuki@callcc.net>
10833
10834	* vm_insnhelper.c (rb_vm_rewrite_cref_stack): copy nd_refinements
10835	  of original crefs. It fixes segmentation fault when calling
10836	  refined method in duplicate module. [ruby-dev:48878] [Bug #10885]
10837
10838	* vm_core.h, class.c: change accordingly.
10839
10840	* test/ruby/test_refinement.rb: add a test for above.
10841
10842Sun Feb 22 10:43:37 2015  Koichi Sasada  <ko1@atdot.net>
10843
10844	* gc.c (rb_objspace_call_finalizer): control GC execution during
10845	  force firnalizations at the end of interpreter process.
10846	  [Bug #10768]
10847
10848	  1) Prohibit incremental GC while running Ruby-level finalizers
10849	     to avoid any danger.
10850	  2) Prohibit GC while invoking T_DATA/T_FILE data structure
10851	     because these operations break object relations consistency.
10852
10853	  This patch can introduce another memory consuming issue because
10854	  Ruby-level finalizers can run after (2), GC is disabled.
10855	  However, basically object consistency was broken at (2) as I
10856	  described above. So that running Ruby-level finalizers contains
10857	  danger originally. Because of this point, I need to suggest to
10858	  remove these 3 lines (invoking remaining finalizers). And add a
10859	  rule to add that finalizers should not add new finalizers, or
10860	  say there is no guarantee to invoke finalizers that added by
10861	  another finalizer.
10862
10863Sun Feb 22 04:07:05 2015  Zachary Scott  <e@zzak.io>
10864
10865	* ext/openssl/ossl_asn1.c: [DOC] RDoc formatting fixes for
10866	  ASN1::ObjectId with patch from @vbatts [Fixes GH-834]
10867
10868	* ext/openssl/ossl_bn.c: ditto.
10869
10870Sat Feb 21 19:51:49 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10871
10872	* re.c (match_aref): RMatch::regexp is Qnil after matching by a
10873	  string since r45451.  [ruby-core:68209] [Bug #10877]
10874
10875Sat Feb 21 16:18:42 2015  Stefan Schuler  <mail@stefanschuessler.de>
10876
10877	* compar.c (Init_Comparable): [DOC] Replace camelcase variable name.
10878	  [Fix GH-833]
10879
10880Fri Feb 20 17:27:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10881
10882	* file.c (rb_file_identical_p): fix handle leak, ensure to close
10883	  the handle of the first argument.
10884
10885Fri Feb 20 17:19:23 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10886
10887	* win32/win32.c (different_device_p): compare by volume serial
10888	  numbers, not by path names.  [ruby-core:68162] [Bug #10865]
10889
10890Thu Feb 19 01:58:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10891
10892	* win32/file.c (rb_file_expand_path_internal): neither the drive
10893	  of base directory nor the current drive are involved in the
10894	  result if different than the drive of path.
10895	  [ruby-core:68130] [Bug #10858]
10896
10897Wed Feb 18 10:48:56 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10898
10899	* win32/win32.c (wrename): return EXDEV if moving a directory to
10900	  another drive, since MoveFileExW does not set proper error code.
10901	  [ruby-core:68162] [Bug #10865]
10902
10903Wed Feb 18 03:13:52 2015  Aaron Patterson <aaron@tenderlovemaking.com>
10904
10905	* ext/psych/lib/psych.rb: bump psych version.
10906	* ext/psych/psych.gemspec: ditto
10907	* ext/psych/yaml/scanner.c: add latest libyaml change.
10908	* test/psych/helper.rb: support newer minitest
10909	* test/psych/test_to_yaml_properties.rb: ditto
10910
10911Tue Feb 17 11:47:17 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10912
10913	* lib/resolv.rb (Resolv::DNS::Resource#==, #hash): elements
10914	  returned by Kernel#instance_variables are Symbols now.
10915	  [ruby-core:68128] [Bug #10857]
10916
10917Tue Feb 17 10:59:10 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10918
10919	* doc/syntax/calling_methods.rdoc: Fix documentation for "calling_methods"
10920	  Patch by @sos4nt [fix GH-830][ci skip]
10921
10922Tue Feb 17 10:53:29 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10923
10924	* win32/file.c (rb_file_expand_path_internal): do not make invalid
10925	  (or ADS) path if the path has a drive letter, the result also
10926	  should have be under it.  [ruby-core:68130] [Bug #10858]
10927
10928Tue Feb 17 10:47:20 2015  Iain Beeston  <iain.beeston@gmail.com>
10929
10930	* hash.c: Added docs to explain that #include? and #member? do not
10931	  check member equality
10932	* lib/set.rb: ditto
10933
10934Mon Feb 16 20:58:49 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10935
10936	* compile.c (compile_massign): optimization for special case,
10937	  assignments by aset or attrset.
10938	  http://kokizzu.blogspot.jp/2015/02/c-java-hhvm-ruby-nodejsrhinojscspidermo.html
10939	  http://www.atdot.net/~ko1/diary/201502.html#d16
10940
10941Sun Feb 15 10:41:23 2015  Sho Hashimoto  <sho-h@ruby-lang.org>
10942
10943	* doc/standard_library.rdoc: [DOC] delete removed libraries.
10944	  [misc #10843] [ci skip]
10945
10946Sat Feb 14 12:20:01 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10947
10948	* random.c (rand_random_number): add a method to return a random
10949	  number like SecureRandom to Random::Formatter.
10950
10951	* lib/securerandom.rb (random_bytes): move to Random::Formatter,
10952	  the base method of the module.
10953
10954Sat Feb 14 12:01:32 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
10955
10956	* random.c (random_raw_seed): extract platform dependent random
10957	  seed initialization function as a new method Random.raw_seed.
10958
10959	* lib/securerandom.rb (SecureRandom): use Random.raw_seed.
10960
10961Sat Feb 14 00:49:37 2015  Aaron Patterson <aaron@tenderlovemaking.com>
10962
10963	* ext/coverage/coverage.c: Add Coverage.peek_result.  Allows you to
10964	  capture coverage information without stopping the coverage tool.
10965	  [ruby-core:67940] [Feature #10816]
10966
10967	* test/coverage/test_coverage.rb: test for change.
10968
10969Fri Feb 13 21:52:05 2015  Yusuke Endoh  <mame@tsg.ne.jp>
10970
10971	* string.c (str_discard): does not free for STR_NOFREE string.
10972	  [Bug #10853][ruby-core:68110]
10973
10974	* bootstraptest/test_string.rb: test for above.
10975
10976Fri Feb 13 21:16:00 2015  Yusuke Endoh  <mame@tsg.ne.jp>
10977
10978	* lib/base64.rb: make urlsafe mode user-friendly.
10979
10980	* lib/base64.rb (Base64.urlsafe_encode64): a new option "padding" to
10981	  suppress the padding character ("=").
10982
10983	* lib/base64.rb (Base64.urlsafe_decode64): now it accepts not only
10984	  correctly-padded input but also unpadded input.
10985	  [Feature #10740][ruby-core:67570]
10986
10987	* test/base64/test_base64.rb: Test for above
10988
10989Fri Feb 13 14:19:06 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
10990
10991	* ext/json: merge upstream from flori/json
10992	  change usage of TypedData. [Feature #10739][ruby-core:67564]
10993
10994Thu Feb 12 18:34:01 2015  multisnow  <infinity.blick.winkel@gmail.com>
10995
10996	* ext/openssl/extconf.rb: check RAND_edg to support libressl.
10997
10998	* ext/openssl/ossl_rand.c (ossl_rand_egd): define only if RAND_edg
10999	  is available.  [Fix GH-829]
11000
11001Thu Feb 12 10:46:14 2015  Eric Hodel  <drbrain@segment7.net>
11002
11003	* proc.c (proc_call):  Improve Proc#call documentation.  Patch by
11004	  Hsing-Hui Hsu.  [fix GH-761]
11005
11006Thu Feb 12 04:33:02 2015  Benoit Daloze  <eregontp@gmail.com>
11007
11008	* compar.c (cmp_equal): no more error hiding for Comparable#==.
11009	  It now behaves as other Comparable methods. See #7688.
11010
11011	* test/ruby/test_comparable.rb: update related test.
11012
11013Thu Feb 12 03:28:05 2015  Eric Wong  <e@80x24.org>
11014
11015	* lib/set.rb (initialize): internal hash defaults to false
11016
11017	* lib/set.rb (include?): use Hash#[] for optimized dispatch.
11018	  Patch by Ismael Abreu <ismaelga@gmail.com>
11019	  [ruby-core:67664] [Misc #10754]
11020
11021Wed Feb 11 11:09:52 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11022
11023	* ext/digest/digest_conf.rb (digest_conf): check for CommonDigest.
11024
11025	* ext/digest/*/*cc.h: for Apple CommonCrypto/CommonDigest.h.
11026
11027	* ext/digest/digest.h (DEFINE_FINISH_FUNC_FROM_FINAL): macro for
11028	  finish functions, by inverting arguments order.
11029
11030	* ext/digest/digest_conf.rb (digest_conf): extract common
11031	  configurations.
11032
11033Wed Feb 11 11:01:33 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11034
11035	* ext/json/generator/generator.c (generate_json): get rid of
11036	  unnecessary recursive calls which can cause infinite recursion.
11037	  T_STRING may not have rb_cString.
11038
11039Wed Feb 11 07:53:35 2015  Masaki Suketa <masaki.suketa@nifty.ne.jp>
11040
11041	* test/win32ole/test_word.rb: use skip method to skip test.
11042
11043Tue Feb 10 11:38:28 2015  Shugo Maeda  <shugo@ruby-lang.org>
11044
11045	* vm_insnhelper.c (vm_call_method): stop method search when a method
11046	  is not found in a refinement, to support undef in refinements.
11047	  [ruby-core:66741] [Bug #10578]
11048
11049Tue Feb 10 11:19:11 2015  Shugo Maeda  <shugo@ruby-lang.org>
11050
11051	* lib/net/ftp.rb (chdir, delete, gettextfile, mdtm, mkdir, nlst,
11052	  putbinaryfile, puttextfile, rename, rmdir, size): support
11053	  Pathname. Patch by Joe Rafaniello. [fix GH-828]
11054
11055Mon Feb  9 16:36:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11056
11057	* tool/make-snapshot (package): get rid of loading unbundled and
11058	  unexpected libraries.  [ruby-core:67977] [Bug #10822]
11059
11060Sun Feb  8 20:09:37 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11061
11062	* lib/net/http/header.rb: pass header names as symbols.
11063	  Patch by @DamirSvrtan [fix GH-805]
11064	* test/net/http/test_httpheader.rb: added test.
11065
11066Sun Feb  8 13:04:25 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11067
11068	* ext/socket/getaddrinfo.c (get_addr): reject too long hostname to
11069	  get rid of GHOST vulnerability on very old platforms.
11070
11071	* ext/socket/raddrinfo.c (make_hostent_internal): ditto, paranoic
11072	  check for the canonical name.
11073
11074Sun Feb  8 12:48:38 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11075
11076	* ext/win32/lib/win32/registry.rb (Win32::Registry::API): use wide
11077	  versions of RegDeleteValue and RegDeleteKey.
11078	  [ruby-core:67958] [Bug #10820]
11079
11080Sat Feb  7 22:13:08 2015  Masaki Suketa <masaki.suketa@nifty.ne.jp>
11081
11082	* test/win32ole/test_win32ole_record.rb: remove test using .NET
11083	  Framework 3.5 because it is not included in Windows 8/8.1.
11084
11085Sat Feb  7 19:25:25 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11086
11087	* dir.c (has_magic): always get long path name on Windows even if
11088	  no tilde is there.  [ruby-core:68011] [Bug #10819]
11089
11090	* dir.c (replace_real_basename): FindFirstFile ignore redirection
11091	  character, check if exists before call it.  cf. [Bug #8597]
11092
11093Sat Feb  7 13:30:11 2015  Masaki Suketa <masaki.suketa@nifty.ne.jp>
11094
11095	* test/win32ole/test_win32ole_record.rb
11096	  (test_ole_instance_variable_get): correct VT_RECORD type and
11097	  instance variables.
11098
11099Fri Feb  6 17:47:05 2015  Aaron Patterson <aaron@tenderlovemaking.com>
11100
11101	* ext/psych/lib/psych/visitors/yaml_tree.rb: register nodes when
11102	  dumping objects with custom coders. [ruby-core:66215] [Bug #10496]
11103
11104	* test/psych/test_coder.rb: test for fix
11105
11106Fri Feb  6 16:58:31 2015  Aaron Patterson <aaron@tenderlovemaking.com>
11107
11108	* ext/psych/lib/psych/visitors/to_ruby.rb: fix support for regular
11109	  expressions with newlines. tenderlove/psych#222
11110
11111	* test/psych/test_yaml.rb: test for change.
11112
11113Fri Feb  6 10:31:50 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11114
11115	* vm_core.h (rb_call_info_kw_arg_struct): make keywords a symbols
11116	  list to get rid of inadvertent creation by variable keyword
11117	  arguments.  [ruby-core:68031] [Bug #10831]
11118
11119Thu Feb  5 22:42:34 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11120
11121	* lib/rubygems:  Update to RubyGems HEAD(5c3b6f3).
11122	  Fixed #1156, #1142, #1115, #1142, #1139 on rubygems/rubygems
11123	* test/rubygems:  ditto.
11124
11125Thu Feb  5 13:41:01 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11126
11127	* vm_eval.c (send_internal), vm_insnhelper.c (vm_call_opt_send):
11128	  convert String method name into a Symbol, as method_missing
11129	  method expects its first argument to be a Symbol.  [Bug #10828]
11130
11131	* vm_insnhelper.c (ci_missing_reason): return the reason of method
11132	  missing in call info.
11133
11134	* vm_insnhelper.c (vm_call_opt_send): re-apply r49500 with the
11135	  proper missing reason.  [Bug #10828]
11136
11137Thu Feb  5 10:31:46 2015  Shugo Maeda  <shugo@ruby-lang.org>
11138
11139	* class.c (rb_obj_singleton_methods): should use RTEST() to convert
11140	  VALUE to int.
11141
11142Thu Feb  5 03:59:33 2015  Marc-Andre Lafortune  <ruby-core@marc-andre.ca>
11143
11144	* vm_insnhelper.c: Fix symbol leak with +send+ [Bug #10828]
11145
11146Wed Feb  4 20:26:54 2015  Masaki Suketa <masaki.suketa@nifty.ne.jp>
11147
11148	* ext/win32ole/win32ole.c (Init_win32ole): should not use atexit to
11149	  free allocated hash table to avoid error on Cygwin.
11150
11151Wed Feb  4 15:34:25 2015  Shugo Maeda  <shugo@ruby-lang.org>
11152
11153	* class.c (method_entry_i, class_instance_method_list,
11154	  rb_obj_singleton_methods): should not include methods of
11155	  superclasses if recur is false. [ruby-dev:48854] [Bug #10826]
11156
11157Wed Feb  4 16:32:40 2015  Matt Hoyle  <matt@deployable.co>
11158
11159	* ext/bigdecimal/bigdecimal.c (VpSetPTR): fix a typo, 'expoennt'
11160	  to 'exponent'.  [ruby-core:67980] [Bug #10823] [Fix GH-825]
11161
11162Wed Feb  4 15:55:38 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11163
11164	* ext/sdbm/_sdbm.c: include ruby/ruby.h for PRIdPTRDIFF when a
11165	  macro `DEBUG` is defined.  based on the patch by Owen Rodley in
11166	  [ruby-core:67987]. [Bug #10825]
11167
11168Wed Feb  4 11:12:43 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11169
11170	* Makefile.in (probes.stamp): rebuild dtrace dependent objects
11171	  only when `dtrace -G` modifies its input files.
11172
11173Tue Feb  3 19:27:16 2015  Naohisa Goto  <ngotogenome@gmail.com>
11174
11175	* common.mk (ruby-glommed.o): dependency on $(OBJ) should be written
11176	  in common.mk (in which OBJ is defined) because of Makefile include
11177	  and parse order. This partly reverts r49419.
11178	  [ruby-dev:48849] [Bug #10808]
11179
11180	* Makefile.in (ruby-glommed.o): ditto.
11181
11182	* Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because
11183	  it is included in $(OBJS) since r49451.
11184
11185	* Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS)
11186
11187Tue Feb  3 17:15:45 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11188
11189	* lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of
11190	  interference by modifying global variables in have_devel? method.
11191	  [ruby-core:67962] [Bug #10821]
11192
11193Tue Feb  3 15:23:58 2015  Shugo Maeda  <shugo@ruby-lang.org>
11194
11195	* vm_method.c (remove_method): When remove refined
11196	  method, raise a NameError if the method is not
11197	  defined in refined class.
11198
11199	  But if the method is defined in refined class,
11200	  it should keep refined method and remove original
11201	  method.
11202
11203	  Patch by Seiei Higa. [ruby-core:67722] [Bug #10765]
11204
11205Tue Feb  3 14:04:47 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11206
11207	* dir.c (glob_helper): obtain real name with FindFirstFile API
11208	  instead of matching all entries, on Windows.
11209	  [ruby-core:67954] [Bug #10819]
11210
11211Tue Feb  3 12:26:35 2015  Katsuhiko Nishimra  <ktns.87@gmail.com>
11212
11213	* lib/mkmf.rb (configuration): set the default cxxflags, which is
11214	  referred from the default CXXFLAGS, for extension libraries.
11215	  [Fix GH-823]
11216
11217Tue Feb  3 05:52:00 2015  Aman Gupta <ruby@tmm1.net>
11218
11219	* gc.c (rb_objspace_free): cause rb_bug if lazy sweep is in progress
11220	  during rb_objspace_free. Adds extra protection for r46340.
11221	  Patch by Vicent Marti. [Bug #10768] [ruby-core:67734]
11222	* gc.c (rb_objspace_call_finalizer): Ensure GC is completed after
11223	  finalizers have run. We already call gc_rest() before invoking
11224	  finalizers, but finalizer can allocate new objects and start new GC
11225	  cycle, so we call gc_rest() again after finalizers are complete.
11226
11227Mon Feb  2 10:51:34 2015  Ari Pollak  <ajp@aripollak.com>
11228
11229	* doc/security.rdoc (Symbols): update about Symbol GC.  Symbols
11230	  explicitly converted from Strings now can be collected, but
11231	  reflection/metaprogramming still can cause memory flooding.
11232	  [Fix GH-725]
11233
11234Sun Feb  1 13:46:52 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11235
11236	* tool/rbinstall.rb (bin-comm): drop batch file installation.
11237	  Windows 95 support has not been supported already.
11238	  [Feature #10806]
11239
11240Sat Jan 31 12:06:23 2015  Scott Francis  <scott.francis@shopify.com>
11241
11242	* thread_pthread.c (reserve_stack): fix intermittent SIGBUS on
11243	  Linux, by reserving the stack virtual address space at process
11244	  start up so that it will not clash with the heap space.
11245	  [Fix GH-822]
11246
11247Fri Jan 30 17:28:29 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
11248
11249	* math.c (num2dbl_with_to_f): make faster when Bignum passed by
11250	  direct conversion using rb_big2dbl().  [Feature #10800]
11251
11252Thu Jan 29 23:30:00 2015  Kenta Murata  <mrkn@mrkn.jp>
11253
11254	* ext/bigdecimal/bigdecimal.c (rb_rational_num): add fallback function
11255	  for rubies lower than 2.2.0.
11256
11257	* ext/bigdecimal/bigdecimal.c (rb_rational_den): ditto.
11258
11259	* ext/bigdecimal/extconf.rb: check the existences of struct RRational,
11260	  rb_rational_num, and rb_rational_den.
11261
11262	* ext/bigdecimal/bigdecimal.bundle: bump version.
11263
11264Thu Jan 29 20:28:25 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11265
11266	* tool/make-snapshot: removed md5 digest with package information
11267
11268Thu Jan 29 10:41:52 2015  Kazuki Tanaka  <gogotanaka@ruby-lang.org>
11269
11270	* math.c (Get_Double): direct casting from Fixnum to double.
11271	  [Feature #10785]
11272
11273Thu Jan 29 02:34:27 2015  Aaron Patterson <aaron@tenderlovemaking.com>
11274
11275	* ext/psych/lib/psych/visitors/to_ruby.rb: fix parsing hashes with
11276	  instance variables when it is referenced multiple times.
11277	* ext/psych/lib/psych.rb: bump version
11278	* ext/psych/psych.gemspec: bump version
11279	* test/psych/test_hash.rb: test for fix
11280
11281Thu Jan 29 02:06:09 2015  Eric Wong  <e@80x24.org>
11282
11283	* thread.c (struct join_arg): restructure and make smaller
11284	  (thread_join_sleep): avoid timeofday() call if forever
11285	  (thread_join): pass join_arg.delay directly
11286	  (rb_thread_inspect_msg): remove, inline into rb_thread_inspect
11287	  (rb_thread_inspect): reduce branching and string creation
11288	* thread_pthread.c (native_set_thread_name): create string directly
11289	  to avoid reparsing. [Misc #10723]
11290
11291Wed Jan 28 21:32:24 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11292
11293	* thread.c: Improve documentation for Thread#value
11294	  [Bug #10694][ruby-core:67324][ci skip]
11295
11296Tue Jan 27 16:04:19 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
11297
11298	* tool/redmine-backporter.rb: added `!` command.
11299
11300Tue Jan 27 15:58:23 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
11301
11302	* tool/redmine-backporter.rb: added history feature for platforms which
11303	  lack readline.
11304
11305Mon Jan 26 22:09:35 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11306
11307	* .gitignore: ignored temporary file with git.
11308
11309Mon Jan 26 18:06:03 2015  Akinori MUSHA  <knu@iDaemons.org>
11310
11311	* misc/ruby-electric.el: Import version 2.2.2 from
11312	  https://github.com/knu/ruby-electric.el.
11313
11314Mon Jan 26 11:37:49 2015  Dave Stevens  <dave@crowdlab.com>
11315
11316	* string.c (str_make_independent_expand): terminate String when
11317	  moved from heap to embedded.  [Fix GH-821].
11318
11319Sun Jan 25 12:04:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11320
11321	* array.c (flatten): no need to call to_ary method on elements
11322	  beyond the given level.  [ruby-core:67637] [Bug #10748]
11323
11324Sun Jan 25 00:42:24 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11325
11326	* ext/fiddle/win32/libffi.mk.tmpl: assemble without directory prefix.
11327	  workaround of a bug of VC12 ml, by unak at [ruby-core:67792].
11328	  [ruby-core:67789] [Bug #10780]
11329
11330Sat Jan 24 19:56:25 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11331
11332	* dln_find.c (dln_find_1): search regular files only.  based on
11333	  the patch by Alex Coomans in [ruby-core:67766].  [Bug #10776]
11334
11335Fri Jan 23 23:57:05 2015  Misumi Rize  <r@ayase-e.li>
11336
11337	* vm_insnhelper.c (vm_throw_start): search the target to break
11338	  from a block with nested rescue, from the nested blocks.
11339	  [ruby-core:67765] [Bug #10775] [Fix GH-820]
11340
11341Fri Jan 23 20:00:59 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11342
11343	* marshal.c (w_object, marshal_dump): use identity tables for
11344	  arbitrary VALUE keys, because of performance of FLONUM.
11345	  [Bug #10761]
11346
11347	* marshal.c (obj_alloc_by_klass, marshal_load): ditto.
11348
11349Fri Jan 23 17:12:33 2015  Eric Wong  <e@80x24.org>
11350
11351	* benchmark/bm_marshal_dump_flo.rb: new benchmark for [Bug #10761]
11352
11353Thu Jan 22 18:03:19 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
11354
11355	* tool/redmine-backporter.rb (find_svn_log): use double quotes instead
11356	  of single quotes because cmd.exe doesn't handle them.
11357
11358	* tool/redmine-backporter.rb (done): the 2nd element of matched data
11359	  is the offset of the end of matched string, not length.
11360
11361Thu Jan 22 16:45:24 2015  Eric Wong  <e@80x24.org>
11362
11363	* st.c (st_numhash): mix float value for flonum
11364	* hash.c (rb_any_hash): ditto
11365	* benchmark/bm_hash_aref_flo.rb: new benchmark
11366	* benchmark/bm_hash_ident_flo.rb: ditto
11367	  [Bug #10761]
11368
11369Wed Jan 21 22:33:51 2015  Akinori MUSHA  <knu@iDaemons.org>
11370
11371	* misc/ruby-electric.el: Import version 2.2.1 from
11372	  https://github.com/knu/ruby-electric.el.  Improve compatibility
11373	  with and optimize for Emacs 24.4.
11374
11375Wed Jan 21 09:40:52 2015  Zachary Scott  <e@zzak.io>
11376
11377	* file.c: Document other cases of missing birthtime on OS with patch
11378	  provided by @sho-h similar to GH-817. [ci skip] [DOC]
11379
11380Wed Jan 21 09:09:19 2015  Tanaka Akira  <akr@fsij.org>
11381
11382	* NEWS: References to tickets added.
11383	  [ruby-core:67701] [Bug #10760] Suggested by Zachary Scott.
11384
11385Tue Jan 20 22:59:54 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11386
11387	* tool/vcs.rb: fix the exception given remote-url of svn.
11388
11389Tue Jan 20 12:58:33 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
11390
11391	* tool/redmine-backporter.rb: now can change the page of `ls`.
11392
11393Tue Jan 20 12:28:37 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
11394
11395	* tool/redmine-backporter.rb (readline): fallback to normal gets on
11396	  Windows because IO.console.getch is not always do as expected.
11397
11398Tue Jan 20 11:31:07 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
11399
11400	* tool/redmine-backporter.rb: update usage.
11401
11402Tue Jan 20 11:23:47 2015  NARUSE, Yui  <naruse@ruby-lang.org>
11403
11404	* tool/redmine-backporter.rb (mygets): to support Backspace
11405	  implement gets by itself.
11406
11407Tue Jan 20 02:54:11 2015  Zachary Scott  <e@zzak.io>
11408
11409	* file.c: NotImplementedError is raised if birthtime is unavailable.
11410	  Patch by @y-yagi san and [Fixes GH-817] [ci skip] [DOC]
11411
11412	* ext/pathname/pathname.c: ditto.
11413
11414Mon Jan 19 22:08:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11415
11416	* class.c (include_modules_at): allow to prepend each module up to
11417	  once for each classe.  [EXPERIMENTAL]
11418
11419Sun Jan 18 18:32:20 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11420
11421	* math.c (math_atan2): revive documentation before r49220.
11422	  http://d.hatena.ne.jp/nagachika/20150112/ruby_trunk_changes_49213_49226
11423
11424Sun Jan 18 15:57:32 2015  Seiei Higa  <hanachin@gmail.com>
11425
11426	* vm_method.c (check_definition): Module#public_method_defined?,
11427	  Module#private_method_defined?, Module#protected_method_defined?
11428	  should not use refinements. [ruby-core:67656] [Bug #10753]
11429
11430Sun Jan 18 15:50:39 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11431
11432	* vm_dump.c (rb_vm_bugreport): check by configured result instead
11433	  of system name for old FreeBSD.  based on a patch by Steve Wills
11434	  at [ruby-core:67655].  [Bug #10752]
11435
11436Sun Jan 18 12:56:49 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11437
11438	* Makefile.in (VPATH, NEWLINE_C), common.mk (common-srcs): make
11439	  and use newline.c under enc/trans directory, not toplevel.  no
11440	  longer search enc directory implicitly.
11441
11442	* configure.in, enc/Makefile.in (BUILTIN_ENCS, BUILTIN_TRANSES):
11443	  prefix respective directory names to builtin encodings and
11444	  transcoder source names.
11445
11446Sun Jan 18 11:49:46 2015  Masaki Suketa <masaki.suketa@nifty.ne.jp>
11447
11448	* ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD
11449	  variable is passed by reference. [ruby-dev:48803] [Bug #10697]
11450
11451Sat Jan 17 23:59:15 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11452
11453	* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String):
11454	  anchors like `\Z` are not valid inside character class.  use
11455	  negative-lookahead instead.
11456	  Fixes: https://github.com/tenderlove/psych/issues/221
11457
11458Sat Jan 17 23:42:27 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11459
11460	* configure.in: get rid of pattern substitution, which is not
11461	  supported by ash, and ash on NetBSD parses whole source first
11462	  and fails to start.  [ruby-dev:48823] [Bug #10750]
11463
11464Fri Jan 16 18:42:58 2015  NARUSE, Yui  <naruse@ruby-lang.org>
11465
11466	* tool/redmine-backporter.rb: support adding related revisions
11467	  to issues.
11468
11469Fri Jan 16 17:20:33 2015  Koichi Sasada  <ko1@atdot.net>
11470
11471	vm.c, vm_core.h: constify VM_CF_LEP, VM_CF_PREV_EP, VM_CF_BLOCK_PTR
11472	and rb_vm_control_frame_block_ptr.
11473
11474Fri Jan 16 15:41:21 2015  Aaron Patterson <aaron@tenderlovemaking.com>
11475
11476	* ext/psych/lib/psych.rb: bump version
11477
11478	* ext/psych/psych.gemspec: ditto
11479
11480Fri Jan 16 15:37:49 2015  Aaron Patterson <aaron@tenderlovemaking.com>
11481
11482	* ext/psych/lib/psych/visitors/yaml_tree.rb: only dump hash
11483	  subclasses. Thanks Joe Eli McIlvain <joe.eli.mac@gmail.com>
11484
11485	* test/psych/test_hash.rb: test for change
11486
11487Fri Jan 16 15:35:21 2015  Aaron Patterson <aaron@tenderlovemaking.com>
11488
11489	* ext/psych/lib/psych.rb: bump version
11490
11491	* ext/psych/lib/psych/visitors/yaml_tree.rb: fix line width wrapping
11492	  for long strings.  Thanks Jakub Jirutka <jakub@jirutka.cz>
11493
11494	* test/psych/test_string.rb: test for change
11495
11496Fri Jan 16 11:44:44 2015  Kazuki Tsujimoto  <kazuki@callcc.net>
11497
11498	* eval_intern.h, vm.c, vm_eval.c, vm_insnhelper.c:
11499	  change throw mechanism (not save target ep, but save target cfp).
11500	  It fixes `unexpected break' bug that occurs when
11501	  TracePoint#binding is called.
11502	  [ruby-dev:48797] [Bug #10689]
11503
11504	* test/ruby/test_settracefunc.rb: add a test.
11505
11506Thu Jan 15 23:55:15 2015  Tanaka Akira  <akr@fsij.org>
11507
11508	* io.c (rb_io_close_m): Don't raise when the IO object is closed.
11509	  [ruby-core:67444] [Feature #10718]
11510
11511Thu Jan 15 21:34:57 2015  Seiei Higa  <hanachin@gmail.com>
11512
11513	* proc.c (rb_obj_singleton_method): Kernel#singleton_method should
11514	  not use refinements, as well as Kernel#method.
11515	  [ruby-core:67603] [Bug #10744]
11516
11517Thu Jan 15 10:45:04 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11518
11519	* array.c (rb_ary_select_bang, ary_reject_bang): linear
11520	  performance.  [ruby-core:67418] [Feature #10714]
11521
11522Wed Jan 14 18:06:06 2015  Martin Duerst  <duerst@it.aoyama.ac.jp>
11523
11524	* lib/uri/mailto.rb: raising URI::InvalidComponentError instead
11525	  of failing with undefined method `split' for nil:NilClass for
11526	  mailto: URIs without opaque part. [Bug #10738]
11527	* test/uri/testuri.rb: Test for above
11528
11529Wed Jan 14 16:45:24 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11530
11531	* tool/downloader.rb (RubyGems.download): verify downloaded gem
11532	  packages.  LowSecurity to allow untrusted certificates now.
11533
11534Wed Jan 14 15:43:48 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11535
11536	* ext/readline/readline.c (readline_s_refresh_line): initialize
11537	  before rl_refresh_line(), as some function make the internal
11538	  state non-clean but rl_refresh_line() does not re-initialize it.
11539	  [ruby-core:43957] [Bug #6232]
11540
11541Tue Jan 13 21:59:24 2015  Michal Papis  <mpapis@gmail.com>
11542
11543	* tool/rbinstall.rb (gem): fix changing permissions of installed
11544	  bundled gems.  [Fix GH-812]
11545
11546Tue Jan 13 21:57:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11547
11548	* common.mk (distclean-local): remove autom4te.cache generated by
11549	  autoconf.
11550
11551	* common.mk (realclean-local): remove id sources and dummy header
11552	  for dtrace.  [ruby-core:67562] [Bug #10737]
11553
11554Tue Jan 13 21:08:22 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11555
11556	* ext/json, test/json: merge JSON HEAD(259dee6)
11557	  separate implementation of Typed_Data macro.
11558	  https://github.com/flori/json/compare/v1.8.1...v1.8.2
11559
11560Tue Jan 13 14:16:35 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11561
11562	* test/net/http/test_http.rb: get rid of accessing DNS actually
11563	  for some servers returning wrong results.
11564	  [ruby-core:67454] [Bug #10721]
11565
11566Mon Jan 12 23:21:57 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
11567
11568	* gems/bundled_gems: update test-unit to 3.0.9.
11569
11570Mon Jan 12 18:35:44 2015  Eric Wong  <e@80x24.org>
11571
11572	* numeric.c (bit_coerce): use original value for error message
11573	  [ruby-core:67405] [Bug #10711]
11574	* test/ruby/test_numeric.rb (test_coerce): check error message
11575
11576Mon Jan 12 18:01:24 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11577
11578	* lib/rdoc/text.rb (expand_tabs): get rid of infinite loop with
11579	  CR.  should check if substitution occurred too.
11580	  [ruby-dev:48813] [Bug #10732]
11581
11582Mon Jan 12 16:45:46 2015  Seiei Higa  <hanachin@gmail.com>
11583
11584	* vm_method.c (rb_alias): raise a NameError when creating alias to
11585	  a refined method if the original method of the refined method is
11586	  not defined.  [ruby-core:67523] [Bug #10731]
11587
11588Mon Jan 12 13:53:17 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11589
11590	* math.c (math_atan2): improve documentation.
11591	  [Feature #10323][ruby-core:65400][ci skip]
11592
11593Mon Jan 12 13:50:49 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11594
11595	* ext/bigdecimal/bigdecimal.c: fixes documentation like labeled lists,
11596	  code examples etc. [ruby-core:66730][Bug #10576][ci skip]
11597
11598Mon Jan 12 13:36:44 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11599
11600	* lib/optparse.rb: improvements for OptionParser documentation.
11601	  [misc #10608][ruby-core:66901][ci skip]
11602
11603Mon Jan 12 13:33:52 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11604
11605	* array.c (rb_ary_each): documented return value.
11606	  [misc #10469][ruby-core:66063]
11607
11608Sun Jan 11 15:11:38 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11609
11610	* test/webrick/test_utils.rb (test_create_listeners): use
11611	  dynamically chosen port number, not hardcoded port number.
11612	  [ruby-core:67508]
11613
11614Sat Jan 10 12:57:12 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11615
11616	* ext/zlib/zlib.c: fix document of method signatures.
11617	  [Bug #10668][ruby-core:67186][ci skip]
11618
11619Sat Jan 10 12:32:44 2015  NAKAMURA Usaku  <usa@ruby-lang.org>
11620
11621	* eval_error.c (error_print): pos and len parameters of rb_str_substr()
11622	  are counted by characters, not bytes.  use rb_str_subseq() instead.
11623	  [Bug #10727] [ruby-core:67473]
11624
11625Sat Jan 10 10:58:55 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11626
11627	* complex.c: removed commented-out code.
11628
11629Sat Jan 10 10:57:19 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11630
11631	* rational.c: removed commented-out code.
11632	  [Feature #10376][ruby-core:65643]
11633
11634Sat Jan 10 10:12:15 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11635
11636	* array.c (rb_ary_select_bang): keep the array consistent by
11637	  removing unselected values soon.  [ruby-dev:48805] [Bug #10722]
11638
11639Fri Jan  9 23:20:04 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11640
11641	* lib/rubygems:  Update to RubyGems HEAD(e53c54a).
11642	* test/rubygems:  ditto.
11643
11644Fri Jan  9 11:13:01 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11645
11646	* parse.y (assocs, assoc): eliminate splatting empty literal
11647	  hashes.  [ruby-core:67446] [Bug #10719]
11648
11649	* compile.c (compile_array_): support splatted hash in hash type.
11650
11651Fri Jan  9 10:57:09 2015  Vit Ondruch  <vondruch@redhat.com>
11652
11653	* configure.in (RUBY_SETJMP_TYPE): Remove superfluous semicolon
11654	  which causes a syntax error with autoconf 2.63.
11655	  [ruby-core:67429] [Bug #10716]
11656
11657Fri Jan  9 07:23:32 2015  Aaron Patterson <aaron@tenderlovemaking.com>
11658
11659	* ext/psych/lib/psych/visitors/yaml_tree.rb: correctly quote non-ascii
11660	  letters. Thanks @jirutka for the patch.
11661
11662	* test/psych/test_string.rb: test for change
11663
11664Fri Jan  9 07:13:55 2015  Aaron Patterson <aaron@tenderlovemaking.com>
11665
11666	* ext/psych/lib/psych/visitors/to_ruby.rb: call `allocate` on hash
11667	  subclasses.  Fixes github.com/tenderlove/psych/issues/196
11668
11669	* test/psych/test_hash.rb: test for change
11670
11671Fri Jan  9 06:58:43 2015  Aaron Patterson <aaron@tenderlovemaking.com>
11672
11673	* ext/psych/lib/psych/visitors/to_ruby.rb: revive hashes with ivars
11674
11675	* ext/psych/lib/psych/visitors/yaml_tree.rb: dump hashes with ivars.
11676	  Fixes github.com/psych/issues/43
11677
11678	* test/psych/test_hash.rb: test for change
11679
11680Thu Jan  8 17:05:00 2015  Seiei Higa  <hanachin@gmail.com>
11681
11682	* vm_method.c (rb_method_entry): if no super class, no original
11683	  method entry.  [ruby-core:67389] [Bug #10707]
11684
11685Thu Jan  8 16:31:43 2015  Seiei Higa  <hanachin@gmail.com>
11686
11687	* vm_method.c (rb_export_method): bail out if the original method
11688	  is undefined when the method is refined.
11689	  [ruby-core:67387] [Bug #10706]
11690
11691Thu Jan  8 12:53:44 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11692
11693	* dir.c (glob_helper): match in case-folding only if the directory
11694	  resides on a case-insensitive file system, on OSX.
11695	  [ruby-core:67364] [Bug #10700]
11696
11697Thu Jan  8 11:39:18 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11698
11699	* .travis.yml: Remove redundant configuration option.
11700	  [fix GH-809] Patch by @gxworld
11701
11702Thu Jan  8 07:17:14 2015  Eric Wong  <e@80x24.org>
11703
11704	* lib/resolv.rb: consider ENETUNREACH as ResolvTimeout
11705	  [ruby-core:67411] [Bug #10712]
11706
11707Thu Jan  8 00:13:52 2015  Tanaka Akira  <akr@fsij.org>
11708
11709	* lib/open3.rb: Open3 properly passes non-keyword hash args to spawn.
11710	  Fixed by Josh Cheek.  [Fix GH-808]
11711	  Related to [ruby-core:67347] [Bug #10699]
11712
11713Wed Jan  7 19:19:26 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11714
11715	* dir.c (dir_initialize): workaround of opendir failure at symlink
11716	  directories on Windows via CIFS.
11717
11718Wed Jan  7 18:52:50 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11719
11720	* dir.c (need_normalization): not only HFS+, CIFS (SMB) is also
11721	  decomposed.  [Bug #10704]
11722
11723	* dir.c (NORMALIZE_UTF8PATH): Unicode decomposition seems to
11724	  perform in an upper layer than file systems on OSX, as all path
11725	  names are always decomposed regardless of file system types.
11726
11727Tue Jan  6 21:41:04 2015  Tanaka Akira  <akr@fsij.org>
11728
11729	* time.c (timelocalw): Set tm_isdst field -1 if vtm->isdst is
11730	  VTM_ISDST_INITVAL.  This bug is introduced at packing struct
11731	  vtm (r45155).
11732	  [ruby-core:67345] [Bug #10698] Reported by Boris Ruf.
11733
11734Tue Jan  6 03:10:54 2015  Koichi Sasada  <ko1@atdot.net>
11735
11736	* test/fiddle/test_handle.rb: fix syntax.
11737
11738Tue Jan  6 00:16:10 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11739
11740	* test/fiddle/test_handle.rb (test_NEXT): use -test-/dln/empty
11741	  which is always a shared object and is not used by others.
11742	  [ruby-dev:48629] [Bug #10384]
11743
11744Mon Jan  5 14:58:01 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11745
11746	* test/ruby/test_io.rb: added timeout for AIX environment.
11747	  [ruby-core:62983][Bug #9917]
11748
11749Sun Jan  4 22:33:33 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11750
11751	* test/lib/test/unit.rb (ExcludesOption): add "excludes" support
11752	  to test suite, for alternative implementations and platforms.
11753	  [Feature #10682]
11754
11755Sun Jan  4 22:32:42 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11756
11757	* test/lib/test/unit.rb (Test::Unit): reorder modules and merge
11758	  each modules.
11759
11760	* test/lib/test/unit.rb (Test::Unit): split the large class into
11761	  each modules.
11762
11763Sun Jan  4 21:32:52 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11764
11765	* parse.y (f_label): return tLABEL value as it is.
11766	  [ruby-core:67315] [Bug #10693]
11767
11768Sun Jan  4 14:02:37 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11769
11770	* test/lib/test/unit/parallel.rb (run): expand the file name to be
11771	  loaded, so that relative paths work in parallel mode.
11772
11773Sun Jan  4 13:36:56 2015  Ayumu AIZAWA  <ayumu.aizawa@gmail.com>
11774
11775	* test/test_tempfile.rb: use assert_file for more descriptive message.
11776	  following r49131.
11777
11778Sun Jan  4 13:05:09 2015  Ayumu AIZAWA  <ayumu.aizawa@gmail.com>
11779
11780	* string.c: improve docs for String#<=>. [ruby-core:65399][Feature #10322]
11781	  Patch by gogo tanaka.
11782
11783Sun Jan  4 12:42:24 2015  Ayumu AIZAWA  <ayumu.aizawa@gmail.com>
11784
11785	* array.c: improve docs for Array#reject. [ruby-core:65324][misc #10307]
11786	  Patched by Nebu Pookins.
11787
11788Sun Jan  4 12:24:11 2015  Ayumu AIZAWA  <ayumu.aizawa@gmail.com>
11789
11790	* string.c: improve docs for String#strip and variations.
11791	  [ruby-core:66081][Bug #10476]
11792
11793Sun Jan  4 09:21:04 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11794
11795	* lib/drb/drb.rb: removed unused argument. Patch by @vipulnsward
11796	  [fix GH-515]
11797
11798Sun Jan  4 09:18:31 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11799
11800	* lib/tempfile.rb: provide default basename parameter.
11801	  [fix GH-523] Patch by @dissolved
11802	* test/test_tempfile.rb: ditto.
11803
11804Sun Jan  4 00:43:41 2015  Ayumu AIZAWA  <ayumu.aizawa@gmail.com>
11805
11806	* README.ja.md: add guidance of mailing list and bugs.r-l.o.
11807
11808Sat Jan  3 23:56:28 2015  Ayumu AIZAWA  <ayumu.aizawa@gmail.com>
11809
11810	* hash.c: fix docs for Hash#invert. [ruby-core:66917] [Bug #10612]
11811
11812Sat Jan  3 19:52:12 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11813
11814	* include/ruby/intern.h (rb_str_new_literal): define on all
11815	  platforms, not only gcc.
11816
11817Sat Jan  3 18:53:28 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11818
11819	* ext/fiddle/lib/fiddle/cparser.rb (parse_ctype): limit split word
11820	  number as the rest are not used.
11821
11822Sat Jan  3 18:19:50 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11823
11824	* ext/fiddle/lib/fiddle/cparser.rb: r49110 broke Fiddle::Import with
11825	  type_alias.
11826	* test/fiddle/test_cparser.rb: added type_alias test for parse_ctype
11827	  and parse_struct_signature.
11828
11829Sat Jan  3 11:50:16 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11830
11831	* ext/openssl/ossl.h: avoid to build failure of Windows environment.
11832	* ext/openssl/ossl_ssl_session.c: ditto.
11833
11834Sat Jan  3 11:27:46 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11835
11836	* array.c: Improve performance of Array#shift. use shared instead of
11837	  MEMMOVE if with arguments. Patch by @ksss [fix GH-537]
11838	* test/ruby/test_array.rb: ditto.
11839	* benchmark/bm_array_shift.rb: Added benchmark of GH-537 issue.
11840
11841Sat Jan  3 10:38:52 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11842
11843	* lib/net/http.rb: More descriptive error message when net/http fails
11844	  to connect to a server. Patch by @xaviershay [fix GH-700]
11845	* test/net/http/test_http.rb: ditto.
11846
11847Sat Jan  3 10:14:51 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11848
11849	* ext/openssl/ossl.h: Make `SSL_SESSION_cmp` use `CRYPTO_memcmp`
11850	  [fix GH-591] Patch by @PiPeep
11851	* ext/openssl/ossl_ssl_session.c: ditto.
11852
11853Sat Jan  3 09:54:32 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11854
11855	* ext/fiddle/lib/fiddle/cparser.rb: Support for Fiddle::CParser
11856	  to handle rich signatures including parameter names and function
11857	  pointer types. Patch by @theryan [fix GH-590]
11858	* test/fiddle/test_cparser.rb: ditto.
11859
11860Sat Jan  3 09:01:43 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11861
11862	* NEWS: added compatibility entry of r49101.
11863
11864Fri Jan  2 21:06:59 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11865
11866	* lib/net/http.rb (Net::HTTP#send_request): there is no response body
11867	  with HEAD request. Patch by @rodrigosaito [fix GH-520]
11868
11869Fri Jan  2 21:04:36 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11870
11871	* test/net/http/test_http.rb (_test_send_request__HEAD): Added
11872	  failing test for send_request with HEAD method.
11873
11874Fri Jan  2 18:41:20 2015  Tanaka Akira  <akr@fsij.org>
11875
11876	* eval.c (ruby_init): Print ruby_setup() error only in debug mode.
11877	  Unsuppressable error message is not a good idea.
11878	  Note that the message is printed sometimes with following
11879	  code (highly timing dependent, though):
11880	  pid = spawn("ruby -e ''"); Process.kill(:TERM, pid)
11881
11882Fri Jan  2 16:18:44 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11883
11884	* test/ruby/test_module.rb: Refactor invalid testcase.
11885	  [fix GH-472][ruby-core:59035][Bug #9240]
11886
11887Fri Jan  2 15:53:00 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11888
11889	* lib/webrick/utils.rb: removed unused argument variable.
11890	  [fix GH-356] Patch by @vipulnsward
11891	* lib/webrick/server.rb: ditto.
11892	* lib/webrick/ssl.rb: ditto.
11893	* test/webrick/test_utils.rb: added test for WEBrick::Utils#create_listeners.
11894
11895Fri Jan  2 15:35:53 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11896
11897	* lib/securerandom.rb: improve syntax and grammar of documentation.
11898	  [fix GH-796][ci skip] Patch by @Erol
11899
11900Fri Jan  2 15:10:01 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11901
11902	* test/openssl/test_ssl_session.rb (OpenSSL#test_ctx_client_session_cb):
11903	  fix test failure with OpenSSL disabled SSLv3 protocol.
11904	  [ruby-core:63772] [Bug #10046]
11905
11906Fri Jan  2 09:08:31 2015  Tanaka Akira  <akr@fsij.org>
11907
11908	* lib/resolv.rb (Resolv::DNS::Label::Str#==): Check class equality.
11909	  (Resolv::DNS::Name#initialize): Normalize labels as
11910	  Resolv::DNS::Label::Str objects.
11911
11912Thu Jan  1 21:41:49 2015  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11913
11914	* doc/regexp.rdoc: fix regexp docs for whitespace character.
11915	  [ruby-dev:48765] [Bug #10624]
11916
11917Thu Jan  1 17:50:52 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11918
11919	* test/ruby/test_rubyoptions.rb: try locale encoding name.
11920	  [ruby-core:67109] [Bug #10643]
11921
11922Thu Jan  1 11:07:12 2015  Eric Wong  <e@80x24.org>
11923
11924	* symbol.c (rb_gc_free_dsymbol): delete from global fstr hash
11925	* test/ruby/test_symbol.rb (test_symbol_fstr_leak): test for bug
11926	  [ruby-core:67268] [Bug #10686]
11927
11928Thu Jan  1 09:14:21 2015  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11929
11930	* vm_args.c (keyword_hash_p): fix non-symbol keys hash.
11931	  rb_extract_keywords() returns 0 not Qnil when no symbol keys is
11932	  included.  [ruby-core:67264] [Bug #10685]
11933
11934Wed Dec 31 17:48:43 2014  Tanaka Akira  <akr@fsij.org>
11935
11936	* lib/resolv.rb (Resolv::DNS::Label::Str#initialize): Set encoding
11937	  ASCII-8BIT before downcase.  case insensitivity of DNS labels doesn't
11938	  apply non-ASCII characters.  [RFC 4343]
11939
11940Wed Dec 31 16:48:44 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11941
11942	* parse.y (gettable_gen): disable warnings of possible reference
11943	  to a local variable defined in a past scope.
11944	  [ruby-core:67162] [Bug #10661]
11945
11946Wed Dec 31 13:43:48 2014  Tanaka Akira  <akr@fsij.org>
11947
11948	* lib/resolv.rb (Resolv::DNS::Name#==): Compare an array of Label:Str
11949	  objects.  Label#Str#== is case-insensitive.
11950
11951Tue Dec 30 16:16:12 2014  Ben Miller  <bmiller@rackspace.com>
11952
11953	* lib/resolv.rb (Resolv::DNS::Name#==): DNS is case-insensitive, so the
11954	  comparison should be case-insensitive as well.
11955	  [ruby-core:66498] [Bug #10550]
11956
11957Tue Dec 30 16:03:45 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11958
11959	* lib/resolv.rb (Resolv::DNS::Name): names with different dots
11960	  should be different.
11961
11962Tue Dec 30 13:16:56 2014  Martin Duerst  <bernhard+git@lsmod.de>
11963
11964	* lib/uri/common.rb: Initialize HTML5ASCIIINCOMPAT to empty Array
11965	  to avoid error during bootstrap when encodings are not yet defined.
11966	  [Bug #10678]
11967
11968Tue Dec 30 09:29:26 2014  Bernhard M. Wiedemann  <bernhard+git@lsmod.de>
11969
11970	* ext/dbm/dbm.c (Init_dbm): [DOC] as UNIX permissions are octal
11971	  numbers, needs to be prefixed by 0.  [Fix GH-800]
11972
11973Tue Dec 30 08:57:39 2014  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
11974
11975	* lib/unicode_normalize.rb: typo fix. [ci skip]
11976	  [ruby-dev:48794][misc #10675]
11977
11978Mon Dec 29 19:38:01 2014  Yukihiro Matsumoto  <matz@ruby-lang.org>
11979
11980	* version.h (RUBY_VERSION): 2.3.0 development has started.
11981
11982Mon Dec 29 18:58:46 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11983
11984	* re.c (unescape_nonascii): append escape sequence as-is not
11985	  unescaped character, to get rid of unexpected meta-character.
11986	  [ruby-core:67193] [Bug #10670]
11987
11988Mon Dec 29 14:27:33 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11989
11990	* doc/syntax/literals.rdoc (Symbols): now Symbols created by
11991	  interpolation can be garbage collected.  patch by Yihang Ho in
11992	  [ruby-core:67194].  [Bug #10671]
11993
11994Mon Dec 29 11:18:17 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
11995
11996	* thread.c (rb_thread_variable_get): fix dynamic symbol keys.
11997	  rb_check_id() returns non-zero only for static symbols, whereas
11998	  thread local variable keys can be dynamic symbols.
11999	  [ruby-core:67185] [Bug #10667]
12000
12001Mon Dec 29 10:37:27 2014  Thiago Lewin  <thiago_lewin@yahoo.com.br>
12002
12003	* io.c (rb_f_select): [DOC] workaround for YARD doc.  [Fix GH-799]
12004
12005	* process.c (proc_detach): [DOC] fix missing closing parenthesis.
12006	  [Fix GH-799]
12007
12008Mon Dec 29 07:27:23 2014  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
12009
12010	* ext/json, test/json: merge JSON HEAD(17fe8e7)
12011	  https://github.com/flori/json/compare/v1.8.1...17fe8e7
12012
12013Sun Dec 28 23:49:37 2014  Michal Papis  <mpapis@gmail.com>
12014
12015	* rbinstall.rb: fix target location for installing bundled gems.
12016	  install to the prepared directory instead of default Gem.dir,
12017	  not to be affected GEM_HOME environment variable.  [Fix GH-798]
12018
12019Sun Dec 28 18:19:28 2014  Eric Wong  <e@80x24.org>
12020
12021	* test/-ext-/iseq_load/test_iseq_load.rb
12022	  (test_next_in_block_in_block): test using ISeq#eval
12023	  (test_break_ensure): ditto
12024	  [ruby-core:66988]
12025
12026Sun Dec 28 16:25:12 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12027
12028	* cygwin/GNUmakefile.in (EXTOBJS): override to add resource files
12029	  always.  [ruby-core:67153] [Bug #10657]
12030
12031Sun Dec 28 13:54:26 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12032
12033	* parse.y (f_kwrest, new_args_tail_gen): unnamed rest keyword and
12034	  keywords bits arguments should be unique.  since internal IDs
12035	  depend on the local variable index in the current scope, new ID
12036	  should be made before popping those vtables.
12037	  [ruby-core:67157] [Bug #10659]
12038
12039Sat Dec 27 20:12:55 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12040
12041	* ext/json/generator/generator.c (JSON_Generator_State_type): add
12042	  #ifdef for backward compatibility.
12043
12044	* ext/json/parser/parser.rl (JSON_Parser_type): ditto.
12045
12046	* ext/json/generator/generator.h (ZALLOC): add fallback definition.
12047
12048	* ext/json/parser/parser.h (ZALLOC): ditto.
12049
12050Sat Dec 27 16:54:05 2014  Tanaka Akira  <akr@fsij.org>
12051
12052	* process.c: Unused code removed.
12053	  It seems waitpid() is universally available on POSIX platforms.
12054
12055Sat Dec 27 15:08:27 2014  Eric Wong  <e@80x24.org>
12056
12057	* vm_core.h (rb_vm_living_threads_insert): preserve order
12058	  [Bug #10660] [ruby-core:67154] [ruby-core:67159]
12059
12060Sat Dec 27 13:08:20 2014  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
12061
12062	* ext/socket/socket.c: improved document for YARD doc.
12063	  [fix GH-795][ci skip] Patch by @tlewin
12064
12065Sat Dec 27 10:11:21 2014  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
12066
12067	* ext/tk/lib/tkextlib/tcllib/plotchart.rb: fix to invoke correct function
12068	  of tcllib. Patch by @zalt50 [fix GH-787]
12069
12070Sat Dec 27 10:03:41 2014  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
12071
12072	* tool/make-snapshot: show sha1 digest when making packages.
12073	  it's request from https://github.com/ruby/www.ruby-lang.org/issues/921
12074	  [fix GH-794]
12075
12076Fri Dec 26 15:32:16 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12077
12078	* ext/tk/tcltklib.c (ip_invoke_core): remove probably duplicate
12079	  dead code.
12080
12081Fri Dec 26 15:28:27 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12082
12083	* ext/tk/tcltklib.c (ip_ruby_cmd_receiver_const_get): simply use
12084	  rb_path2class() to get a class/module from its name.
12085
12086Fri Dec 26 15:20:54 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12087
12088	* marshal.c (w_long): append at once by w_nbyte() instead of
12089	  appending byte by byte.
12090
12091Fri Dec 26 15:13:13 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12092
12093	* ext/json/parser/parser.rl (unescape_unicode): check if valid
12094	  before bit-or assignments.
12095	  reported by Denis Denisov <denji0k AT gmail.com>.
12096
12097	* ext/nkf/nkf-utf8/nkf.c (nkf_iconv_t): fix a missing semicolon.
12098	  reported by Denis Denisov <denji0k AT gmail.com>.
12099
12100	* process.c (rb_spawn_process): get rid of usage of uninitialized
12101	  variable.
12102	  reported by Denis Denisov <denji0k AT gmail.com>.
12103
12104	* regexec.c (match_at): ditto.
12105
12106	* ext/win32ole/win32ole.c (ole_wc2mb_alloc, ole_vstr2wc, ole_mb2wc):
12107	  ditto.
12108
12109	* dir.c (ruby_glob0): no need to check never-NULL pointer.
12110	  reported by Denis Denisov <denji0k AT gmail.com>.
12111
12112	* win32/file.c (rb_file_expand_path_internal): ditto.
12113
12114	* win32/file.c (code_page_i): handle realloc failure.
12115	  reported by Denis Denisov <denji0k AT gmail.com>.
12116
12117	* win32/stub.c (stub_sysinit): ditto.
12118
12119	* fix printf format conversion specifiers.
12120	  reported by Denis Denisov <denji0k AT gmail.com>.
12121
12122Fri Dec 26 01:41:40 2014  NAKAMURA Usaku  <usa@ruby-lang.org>
12123
12124	* tool/rbinstall.rb: skip installing bundle gems if zlib is unavailable.
12125	  [Bug #10647] [ruby-dev:48787]
12126
12127Fri Dec 26 01:24:42 2014  NAKAMURA Usaku  <usa@ruby-lang.org>
12128
12129	* tool/downloader.rb: support old versions of ruby.
12130
12131	* tool/downloader.rb: now can download gems by http if openssl is not
12132	  available (this may be danger!)
12133
12134Fri Dec 26 00:13:48 2014  NAKAMURA Usaku  <usa@ruby-lang.org>
12135
12136	* test/ruby/test_extlibs.rb: check existence of extension libraries
12137	  which not depend on outer libraries. (experimental)
12138
12139Thu Dec 25 21:58:15 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12140
12141	* ext/fiddle/extconf.rb: make PIC objects if it will be linked as
12142	  a shared object eventually.  [ruby-core:67128]
12143
12144Thu Dec 25 19:01:13 2014  NAKAMURA Usaku  <usa@ruby-lang.org>
12145
12146	* ext/fiddle/win32/libffi-3.2.1-mswin.patch: support mswin32.
12147
12148Thu Dec 25 17:30:40 2014  Naohisa Goto  <ngotogenome@gmail.com>
12149
12150	* gc.c (wmap_final_func): fix memory size shortage when realloc wmap.
12151	  Fix SEGV during finalize of WeakRef on Solaris (though the SEGV
12152	  could occur on all OS/platforms). [ruby-dev:48779] [Bug #10646]
12153
12154Thu Dec 25 17:27:06 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12155
12156	* configure.in (NET_LUID): include winsock2.h instead of windows.h.
12157	  patch by Jon Forums in [ruby-core:67125].  [Bug #10640]
12158
12159Thu Dec 25 16:14:10 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
12160
12161	* ext/io/console/console.c (console_dev): send the given arguments
12162	  to the opened console.  as a special case, do nothing if :close
12163	  is given.
12164
12165	* test/lib/leakchecker.rb (LeakChecker#check_fd_leak): close if
12166	  console.
12167
12168For the changes before 2.2.0, see doc/ChangeLog-2.2.0
12169For the changes before 2.1.0, see doc/ChangeLog-2.1.0
12170For the changes before 2.0.0, see doc/ChangeLog-2.0.0
12171For the changes before 1.9.3, see doc/ChangeLog-1.9.3
12172For the changes before 1.8.0, see doc/ChangeLog-1.8.0
12173
12174Local variables:
12175coding: us-ascii
12176add-log-time-format: (lambda ()
12177  (let* ((time (current-time))
12178	 (system-time-locale "C")
12179	 (diff (+ (cadr time) 32400))
12180	 (lo (% diff 65536))
12181	 (hi (+ (car time) (/ diff 65536))))
12182  (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))
12183indent-tabs-mode: t
12184tab-width: 8
12185change-log-indent-text: 2
12186end:
12187vim: tabstop=8 shiftwidth=2
12188