Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
```
% ruby -r date -e 't=Time.utc(2001,2,3,4,5,6,7);p t; p [t, t.to_date, t.to_datetime].map{|d|d.strftime("%Q")}'
2001-02-03 04:05:06.000007 UTC
["%Q", "981158400000", "981173106000"]
```
|
|
Ruby 2.7 deprecates taint and it no longer has an effect.
|
|
Untaint is deprecated and has no effect on Ruby 2.7+.
|
|
We track recursion in order to not infinite loop in ==, inspect, and
similar methods by keeping a thread-local 1 or 2 level hash. This allows
us to track when we have seen the same object (ex. using inspect) or
same pair of objects (ex. using ==) in this stack before and to treat
that differently.
Previously both levels of this Hash used the object's memory_id as a key
(using object_id would be slow and wasteful). Unfortunately, prettyprint
(pp.rb) uses this thread local variable to "pretend" to be inspect and
inherit its same recursion behaviour.
This commit changes the top-level hash to be an identity hash and to use
objects as keys instead of their object_ids.
I'd like to have also converted the 2nd level hash to an ident hash, but
it would have prevented an optimization which avoids allocating a 2nd
level hash for only a single element, which we want to keep because it's
by far the most common case.
So the new format of this hash is:
{ object => true } (not paired)
{ lhs_object => rhs_object_memory_id } (paired, single object)
{ lhs_object => { rhs_object_memory_id => true, ... } } (paired, many objects)
We must also update pp.rb to match this (using identity hashes).
Notes:
Merged: https://github.com/ruby/ruby/pull/2644
|
|
|
|
https://github.com/ruby/racc/commit/a887ebe529
|
|
|
|
Fixes Ruby Bug 16281.
|
|
https://github.com/ruby/fileutils/commit/5ac9a8a1f7
|
|
|
|
https://github.com/ruby/rdoc/commit/946d2592e2
|
|
|
|
* Make links from Net::GenericHTTPRequest work;
* Document +dest+ param of HTTPResponse#read_body;
* Slightly improve reference to particular response
classes from HTTPResponse class docs.
Notes:
Merged: https://github.com/ruby/ruby/pull/2615
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2615
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2615
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2615
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2615
|
|
* Actualize Notes about other templating engines;
* Document #location= method.
Notes:
Merged: https://github.com/ruby/ruby/pull/2615
|
|
|
|
|
|
Gem::Specification#add_development_dependency.
https://github.com/ruby/forwardable/commit/1e7123a81b
|
|
https://github.com/ruby/forwardable/commit/1a994c90e1
|
|
:__id__
Previously, __send__ and __id__ were skipped if provided as strings,
but not skipped if provided as symbols.
Fixes Ruby Bug 8855.
https://github.com/ruby/forwardable/commit/2e61c8c66c
|
|
https://github.com/ruby/forwardable/commit/1b6991e589
|
|
https://github.com/ruby/forwardable/commit/387758d45a
|
|
|
|
Gem::Specification#add_development_dependency.
https://github.com/ruby/tracer/commit/9df7d7937b
|
|
Fixes Ruby Bug 9876.
|
|
Only untaint result on Ruby <2.7, as taint support is deprecated
in Ruby 2.7+ and no longer has an effect.
https://github.com/ruby/webrick/commit/4c430f9410
|
|
https://github.com/ruby/webrick/commit/6b6990ec81
|
|
While the stripping of header values is required by RFC 2616 4.2 and
RFC 7230 3.2.4, the squishing is not and can break things, such as
when one header contains an HMAC of another header.
Fixes Ruby Bug 7021.
https://github.com/ruby/webrick/commit/8b96088a86
|
|
https://github.com/ruby/webrick/commit/00c281caa7
|
|
It is currently broken, and even if it worked, it can cause problems
when debugging. See Ruby Bug 10715.
https://github.com/ruby/webrick/commit/575dea8656
|
|
This reverts commit ff953a003e03f5f070112ececefab4c07ff4cb0e.
|
|
|
|
On German keyboard, right alt key acts as like shift key.
Ex. right-alt-8 is just "[". This input doesn't have meta-key statement.
|
|
|
|
|
|
|
|
Original patch from Andy Grimm.
Fixes [Bug #10747]
Notes:
Merged: https://github.com/ruby/ruby/pull/2587
|
|
As the result order of `DidYouMean::SpellChecker#correct` is
undefined, keep the order of the original candidates.
|
|
Recent monitor.rb has performance problem because of interrupt
handlers. 'Monitor#synchronize' is frequently used primitive
so the performance of this method is important.
This patch rewrite 'monitor.rb' with 'monitor.so' (C-extension)
and make it faster. See [Feature #16255] for details.
Monitor class objects are normal object which include MonitorMixin.
This patch introduce a Monitor class which is implemented on C
and MonitorMixin uses Monitor object as re-entrant (recursive)
Mutex. This technique improve performance because we don't need
to care atomicity and we don't need accesses to instance variables
any more on Monitor class.
Notes:
Merged-By: ko1 <ko1@atdot.net>
|
|
|
|
|