Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Merge upstream Ruby 2.1.4 #21

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
Nov 11, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
7693578
* version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.4.
nagachika Sep 23, 2014
77ce45d
merge revision(s) r47111,r47212,r47451,r47452,r47680: [Backport #10245]
nagachika Sep 23, 2014
c8ec78c
merge revision(s) r47683: [Backport #10281]
nagachika Sep 23, 2014
ee69bb4
merge revision(s) r47641,r47642,r47644: [Backport #10262]
nagachika Sep 23, 2014
2ccf728
merge revision(s) r47696,r47697: [Backport #10279]
nagachika Sep 23, 2014
309b930
merge revision(s) r47820: [Backport #10330]
nagachika Oct 15, 2014
9ecfc87
merge revision(s) r47819: [Backport #9914]
nagachika Oct 15, 2014
b1c5f7e
merge revision(s) r47850: [Backport #10294]
nagachika Oct 15, 2014
22a193f
merge revision(s) r47891: [Backport #10373]
nagachika Oct 15, 2014
a50794d
merge revision(s) r47896: [Backport #10369]
nagachika Oct 15, 2014
39fcf33
merge revision(s) r45715: [Backport #10265]
nagachika Oct 15, 2014
b3cfa2f
merge revision(s) r46783: [Backport #6716]
nagachika Oct 15, 2014
8bdf68d
merge r47598 partially. extracted commits are as follows. [Bug #9728]
nagachika Oct 15, 2014
69fe55a
* 2014-10-16
matzbot Oct 15, 2014
982aab0
merge revision(s) r47818,r47832: [Backport #9820]
nagachika Oct 15, 2014
d396f66
merge revision(s) r47715: [Backport #10282]
nagachika Oct 15, 2014
90c3ddc
merge revision(s) r47900: [Backport #10035]
nagachika Oct 15, 2014
dac945b
merge revision(s) r47645: [Backport #10263]
nagachika Oct 16, 2014
2d17e3a
merge revision(s) r47716: [Backport #10285]
nagachika Oct 16, 2014
3ec2fe7
merge revision(s) r47973: [Backport #10392]
nagachika Oct 18, 2014
06ce3b7
merge revision(s) r48000: [Backport #10368]
nagachika Oct 18, 2014
5a58165
merge revision(s) r45274,r45278,r45280,r48097: [Backport #9424] [Back…
nagachika Oct 22, 2014
a7a045f
merge revision(s) r48102: [Backport #10413]
nagachika Oct 25, 2014
d841eef
merge revision(s) r48111,r48118,r48120: [Backport #10421]
nagachika Oct 25, 2014
31d25ce
merge revision(s) r48161:
nagachika Oct 27, 2014
e966a41
add tag v2_1_4
nagachika Oct 27, 2014
25de41c
Merge tag 'v2_1_4' into dbussink-ruby-2-1-4
dbussink Nov 11, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 136 additions & 9 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,27 +1,154 @@
Fri Sep 26 12:52:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
Mon Oct 27 20:20:14 2014 NAKAMURA Usaku <usa@ruby-lang.org>

* ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO
should be writable any encoding strings, without conversion.
[ruby-core:65240] [Bug #10285]
* lib/rexml/entity.rb: keep the entity size within the limitation.
reported by Willis Vandevanter <[email protected]> and
patched by nahi.

Wed Sep 24 02:30:55 2014 Nobuyoshi Nakada <[email protected]>
Sun Oct 26 03:31:46 2014 Nobuyoshi Nakada <[email protected]>

* parse.y (parse_ident): just after a label, new expression should
start, cannot be a modifier. [ruby-core:65211] [Bug #10279]
* vm_method.c (rb_method_entry_make): warn redefinition only for
already defined methods, but not for undefined methods.
[ruby-dev:48691] [Bug #10421]

Sun Oct 26 03:21:30 2014 Nobuyoshi Nakada <[email protected]>

* class.c (unknown_keyword_error): delete expected keywords
directly from raw table, so that the given block is not called.
[ruby-core:65837] [Bug #10413]

Fri Mar 7 12:06:19 2014 Martin Bosslet <[email protected]>
Wed Oct 22 23:02:49 2014 CHIKANAGA Tomoyuki <[email protected]>

* ext/openssl/lib/openssl/ssl.rb (DEFAULT_PARAMS): override
options even if OpenSSL::SSL::OP_NO_SSLv3 is not defined.
this is pointed out by Stephen Touset. [ruby-core:65711] [Bug #9424]

Wed Oct 22 23:02:49 2014 Martin Bosslet <[email protected]>

* test/openssl/test_ssl.rb: Reuse TLS default options from
OpenSSL::SSL::SSLContext::DEFAULT_PARAMS.

Thu Mar 6 10:33:31 2014 Martin Bosslet <[email protected]>
Wed Oct 22 23:02:49 2014 Martin Bosslet <[email protected]>

* lib/openssl/ssl.rb: Explicitly whitelist the default
SSL/TLS ciphers. Forbid SSLv2 and SSLv3, disable
compression by default.
Reported by Jeff Hodges.
[ruby-core:59829] [Bug #9424]

Sun Oct 19 03:22:53 2014 Kazuki Tsujimoto <[email protected]>

* vm_core.h, vm.c, proc.c: fix GC mark miss on bindings.
[ruby-dev:48616] [Bug #10368]

* test/ruby/test_eval.rb: add a test code.

Sun Oct 19 03:13:38 2014 Nobuyoshi Nakada <[email protected]>

* parse.y (parser_here_document): do not append already appended
and disposed code fragment. [ruby-dev:48647] [Bug #10392]

Thu Oct 16 22:10:11 2014 Nobuyoshi Nakada <[email protected]>

* ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO
should be writable any encoding strings, without conversion.
[ruby-core:65240] [Bug #10285]

Thu Oct 16 22:06:03 2014 Nobuyoshi Nakada <[email protected]>

* vm_eval.c (eval_string_with_cref): fix super from eval with
scope. set klass in the current control frame to the class of
the receiver in the context to be evaluated, this class/module
must match the actual receiver to call super.
[ruby-core:65122] [Bug #10263]

Thu Oct 16 00:30:30 2014 Tanaka Akira <[email protected]>

* lib/find.rb (Find.find): Call to_path for arguments to obtain
strings.
[ruby-core:63713] [Bug #10035] Reported by Herwin.

Thu Oct 16 00:20:12 2014 Eric Wong <[email protected]>

* object.c (rb_class_real): do not dereference 0 VALUE

* test/ruby/test_module.rb (test_inspect_segfault):
Test case and bug report by Thomas Stratmann.
[ruby-core:65214] [Bug #10282]

Thu Oct 16 00:10:45 2014 Nobuyoshi Nakada <[email protected]>

* signal.c (rb_f_kill): get rid of deadlock as unhandled and
discarded signals do not make interrupt_cond signaled.
based on the patch by Kazuki Tsujimoto at [ruby-dev:48606].
[Bug #9820]

Thu Oct 16 00:10:45 2014 Nobuyoshi Nakada <[email protected]>

* signal.c (rb_f_kill): should not ignore signal unless the
default handler is registered. [ruby-dev:48592] [Bug #9820]

Wed Oct 15 23:58:13 2014 CHIKANAGA Tomoyuki <[email protected]>

merge r47598 partially. extracted commits are as follows. [Bug #9728]
https://github.com/k-takata/Onigmo/commit/15ddec6d18e27fdc1988236764e766fd5892ecf5

Wed Oct 15 23:50:33 2014 SHIBATA Hiroshi <[email protected]>

* lib/fileutils.rb: handle ENOENT error with symlink targeted to
non-exists file. [ruby-dev:45933] [Bug #6716]

Wed Oct 15 23:25:24 2014 NARUSE, Yui <[email protected]>

* configure.in: NetBSD's ksh, used by configure, needs escapes.

Wed Oct 15 23:13:43 2014 Eric Wong <[email protected]>

* array.c (ary_recycle_hash): add RB_GC_GUARD
(rb_ary_diff): remove volatile
[Bug #10369]

Wed Oct 15 23:10:07 2014 Nobuyoshi Nakada <[email protected]>

* dir.c (dir_s_aref): fix rdoc. `Dir.glob` allows an array but
`Dir[]` not. the former accepts an optional parameter `flags`,
while the latter accepts arbitrary number of arguments but no
`flags`. [ruby-core:65265] [Bug #10294]

Wed Oct 15 23:08:02 2014 Rei Odaira <[email protected]>

* configure.in: Fix typo. [Bug #9914]

Wed Oct 15 22:46:52 2014 NAKAMURA Usaku <[email protected]>

* error.c: update exception tree. [DOC]
reported by @hemge via twitter.

Wed Sep 24 02:30:55 2014 Nobuyoshi Nakada <[email protected]>

* parse.y (parse_ident): just after a label, new expression should
start, cannot be a modifier. [ruby-core:65211] [Bug #10279]

Wed Sep 24 02:21:41 2014 NAKAMURA Usaku <[email protected]>

* win32/Makefile.sub (VCSUP): nothing to do if this worktree is not
under any VCS (it means that the worktree may be from the release
package).

Wed Sep 24 02:06:33 2014 Tanaka Akira <[email protected]>

* test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g.
[ruby-core:65058] [Bug #10245] Reported by Vit Ondruch.

Wed Sep 24 02:06:33 2014 SHIBATA Hiroshi <[email protected]>

* test/minitest/test_minitest_unit.rb: removed obsoleted condition
for Ruby 1.8.
* test/ruby/test_time_tz.rb: ditto.

Wed Sep 24 01:43:13 2014 CHIKANAGA Tomoyuki <[email protected]>

* version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.4.

Fri Sep 19 00:58:34 2014 CHIKANAGA Tomoyuki <[email protected]>

* version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.3.
Expand Down
3 changes: 2 additions & 1 deletion array.c
Original file line number Diff line number Diff line change
Expand Up @@ -3949,6 +3949,7 @@ ary_recycle_hash(VALUE hash)
RHASH(hash)->ntbl = 0;
st_free_table(tbl);
}
RB_GC_GUARD(hash);
}

/*
Expand All @@ -3972,7 +3973,7 @@ static VALUE
rb_ary_diff(VALUE ary1, VALUE ary2)
{
VALUE ary3;
volatile VALUE hash;
VALUE hash;
long i;

hash = ary_make_hash(to_ary(ary2));
Expand Down
4 changes: 3 additions & 1 deletion class.c
Original file line number Diff line number Diff line change
Expand Up @@ -1878,10 +1878,12 @@ NORETURN(static void unknown_keyword_error(VALUE hash, const ID *table, int keyw
static void
unknown_keyword_error(VALUE hash, const ID *table, int keywords)
{
st_table *tbl = rb_hash_tbl_raw(hash);
VALUE keys;
int i;
for (i = 0; i < keywords; i++) {
rb_hash_delete(hash, ID2SYM(table[i]));
st_data_t key = ID2SYM(table[i]);
st_delete(tbl, &key, NULL);
}
keys = rb_funcall(hash, rb_intern("keys"), 0, 0);
if (!RB_TYPE_P(keys, T_ARRAY)) rb_raise(rb_eArgError, "unknown keyword");
Expand Down
4 changes: 2 additions & 2 deletions configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -1165,7 +1165,7 @@ AS_CASE(["$target_os"],
[
# AIX currently does not support a 32-bit call to posix_fadvise()
# if _LARGE_FILES is defined.
ac_cv_posix_fadvise=no
ac_cv_func_posix_fadvise=no
])
])

Expand Down Expand Up @@ -2092,7 +2092,7 @@ if test x$setjmp_prefix = xsig; then
else
unset setjmp_sigmask
fi
AC_MSG_RESULT(${setjmp_prefix}setjmp${setjmp_suffix}${setjmp_cast:+($setjmp_cast)})
AC_MSG_RESULT(${setjmp_prefix}setjmp${setjmp_suffix}${setjmp_cast:+\($setjmp_cast\)})
AC_DEFINE_UNQUOTED([RUBY_SETJMP(env)], [${setjmp_prefix}setjmp${setjmp_suffix}($setjmp_cast(env)${setjmp_sigmask+,0})])
AC_DEFINE_UNQUOTED([RUBY_LONGJMP(env,val)], [${setjmp_prefix}longjmp($setjmp_cast(env),val)])
AC_DEFINE_UNQUOTED(RUBY_JMP_BUF, ${setjmp_sigmask+${setjmp_prefix}}jmp_buf)
Expand Down
2 changes: 0 additions & 2 deletions dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -1784,11 +1784,9 @@ dir_globs(long argc, const VALUE *argv, int flags)

/*
* call-seq:
* Dir[ array ] -> array
* Dir[ string [, string ...] ] -> array
*
* Equivalent to calling
* <code>Dir.glob(</code><i>array,</i><code>0)</code> and
* <code>Dir.glob([</code><i>string,...</i><code>],0)</code>.
*
*/
Expand Down
11 changes: 7 additions & 4 deletions error.c
Original file line number Diff line number Diff line change
Expand Up @@ -1740,29 +1740,32 @@ syserr_eqq(VALUE self, VALUE exc)
* * LoadError
* * NotImplementedError
* * SyntaxError
* * SecurityError
* * SignalException
* * Interrupt
* * StandardError -- default for +rescue+
* * ArgumentError
* * IndexError
* * StopIteration
* * EncodingError
* * FiberError
* * IOError
* * EOFError
* * IndexError
* * KeyError
* * StopIteration
* * LocalJumpError
* * NameError
* * NoMethodError
* * RangeError
* * FloatDomainError
* * RegexpError
* * RuntimeError -- default for +raise+
* * SecurityError
* * SystemCallError
* * Errno::*
* * SystemStackError
* * ThreadError
* * TypeError
* * ZeroDivisionError
* * SystemExit
* * SystemStackError
* * fatal -- impossible to rescue
*/

Expand Down
1 change: 1 addition & 0 deletions ext/openssl/lib/openssl/ssl.rb
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ class SSLContext
opts |= OpenSSL::SSL::OP_NO_COMPRESSION if defined?(OpenSSL::SSL::OP_NO_COMPRESSION)
opts |= OpenSSL::SSL::OP_NO_SSLv2 if defined?(OpenSSL::SSL::OP_NO_SSLv2)
opts |= OpenSSL::SSL::OP_NO_SSLv3 if defined?(OpenSSL::SSL::OP_NO_SSLv3)
opts
}.call
}

Expand Down
12 changes: 9 additions & 3 deletions lib/fileutils.rb
Original file line number Diff line number Diff line change
Expand Up @@ -854,7 +854,8 @@ def install(src, dest, options = {})
fu_check_options options, OPT_TABLE['install']
fu_output_message "install -c#{options[:preserve] && ' -p'}#{options[:mode] ? (' -m 0%o' % options[:mode]) : ''} #{[src,dest].flatten.join ' '}" if options[:verbose]
return if options[:noop]
fu_each_src_dest(src, dest) do |s, d, st|
fu_each_src_dest(src, dest) do |s, d|
st = File.stat(s)
unless File.exist?(d) and compare_file(s, d)
remove_file d, true
copy_file s, d
Expand Down Expand Up @@ -1252,7 +1253,12 @@ def dereference?
end

def exist?
lstat! ? true : false
begin
lstat
true
rescue Errno::ENOENT
false
end
end

def file?
Expand Down Expand Up @@ -1570,7 +1576,7 @@ def fu_list(arg) #:nodoc:
def fu_each_src_dest(src, dest) #:nodoc:
fu_each_src_dest0(src, dest) do |s, d|
raise ArgumentError, "same file: #{s} and #{d}" if fu_same?(s, d)
yield s, d, File.stat(s)
yield s, d
end
end
private_module_function :fu_each_src_dest
Expand Down
1 change: 1 addition & 0 deletions lib/find.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ def find(*paths) # :yield: path
fs_encoding = Encoding.find("filesystem")

paths.collect!{|d| raise Errno::ENOENT unless File.exist?(d); d.dup}.each do |path|
path = path.to_path if path.respond_to? :to_path
enc = path.encoding == Encoding::US_ASCII ? fs_encoding : path.encoding
ps = [path]
while file = ps.shift
Expand Down
6 changes: 6 additions & 0 deletions lib/rexml/entity.rb
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,14 @@ def value
matches = @value.scan(PEREFERENCE_RE)
rv = @value.clone
if @parent
sum = 0
matches.each do |entity_reference|
entity_value = @parent.entity( entity_reference[0] )
if sum + entity_value.bytesize > Security.entity_expansion_text_limit
raise "entity expansion has grown too large"
else
sum += entity_value.bytesize
end
rv.gsub!( /%#{entity_reference.join};/um, entity_value )
end
end
Expand Down
5 changes: 2 additions & 3 deletions object.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,9 +203,8 @@ rb_obj_not_equal(VALUE obj1, VALUE obj2)
VALUE
rb_class_real(VALUE cl)
{
if (cl == 0)
return 0;
while ((RBASIC(cl)->flags & FL_SINGLETON) || BUILTIN_TYPE(cl) == T_ICLASS) {
while (cl &&
((RBASIC(cl)->flags & FL_SINGLETON) || BUILTIN_TYPE(cl) == T_ICLASS)) {
cl = RCLASS_SUPER(cl);
}
return cl;
Expand Down
5 changes: 4 additions & 1 deletion parse.y
Original file line number Diff line number Diff line change
Expand Up @@ -6547,7 +6547,10 @@ parser_here_document(struct parser_params *parser, NODE *here)
if (pend < lex_pend) rb_str_cat(str, "\n", 1);
lex_goto_eol(parser);
if (nextc() == -1) {
if (str) dispose_string(str);
if (str) {
dispose_string(str);
str = 0;
}
goto error;
}
} while (!whole_match_p(eos, len, indent));
Expand Down
Loading