| Age | Commit message (Collapse) | Author |
|
4c019f5a626523e99e2827ed917802e3097c380d,c3584dfacce4d0f2058d8403de6fdce4fd4d686b: [Backport #16676]
check ar_table after `#hash` call
ar_table can be converted to st_table just after `ar_do_hash()`
function which calls `#hash` method. We need to check
the representation to detect this mutation.
[Bug #16676]
check ar_table first.
RHASH_AR_TABLE_SIZE() has assertion that it is a ar_talbe.
The last commit breaks this assumption so check ar_table first.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
b3ea0980db87404c2b7763a3fdbe898c3812843d,5fbb4555b427909aed4fe2376c4c583849c1d51c,6477d98e49dbe04deb03caee1a58a34c3b79d4e4,16415fefc14e1419d5587288fb6a69fe5ccf94ba:
Check MJIT support in one place
to fix test failure on trunk-no-mjit
https://gist.github.com/ko1/32ab982ffd7555988818773c08f97123
Prefer using MJIT_CC for JIT support check
because Solaris might have CC=cc and we'd like to check full path
MJIT_CC=/opt/developerstudio12.5/bin/cc instead.
test/lib/jit_support.rb: Update the regexp for icc
MJIT_CC is always an absolute path.
test/lib/jit_support.rb: The path to icc was changed
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
jit_support.rb: skip testing MJIT on oracle developer studio
jit_support.rb: deal with -std=c99 flag
CC is changed from "icc" to "icc -std=c99" by r66605.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-trunk/log/20181228T130003Z.fail.html.gz
test_jit.rb: change format of test error output
to avoid breaking redmine quote like
https://bugs.ruby-lang.org/issues/15522
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Prevent unloading methods used in root_fiber while calling another
Fiber (#2939)
Fixing SEGVs like:
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744905
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744420
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2741400
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Avoid infinite loop on --jit-wait
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Show retry's stdout as well
because stderr did not have sufficient information
https://ci.appveyor.com/project/ruby/ruby/builds/23242505/job/dirugxujk70nnhp6
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Insert --jit-verbose=2 logs for mswin debugging
Explain why cl.exe needs --jit-verbose=2 [ci skip]
I forgot to explain it in the previous commit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Check frozen flag on MJIT setinstancevariable
It does not seem to have a significant performance impact, hopefully?
```
$ benchmark-driver -v benchmark.yml --rbenv 'before --jit;after --jit' --repeat-count=24 --output=all
before --jit: ruby 2.7.0dev (2019-09-03T21:02:24Z master 77596fb7a9) +JIT [x86_64-linux]
after --jit: ruby 2.7.0dev (2019-09-04T01:54:44Z master 7363e22d79) +JIT [x86_64-linux]
Calculating -------------------------------------
before --jit after --jit
Optcarrot Lan_Master.nes 48.44054595799523 71.67010255902900 fps
71.32797692837639 71.97846863769546
72.51921961607691 78.87360980544105
73.54082925611047 79.80408132389941
74.03503843709451 79.85739528572826
74.04863857926493 79.89850834901381
75.30266276129467 80.34607233076015
75.69063990896244 80.88474397425360
75.70458132587405 81.09234267781642
77.39842764662852 82.13766823612643
77.76922944068329 82.20398304840373
81.17984044023393 82.26722630628272
82.85235776076533 82.71375902781254
83.04906099135320 82.75893420702198
83.10214168136230 82.79668965325972
83.71456007558125 82.85131667916379
84.06658306760725 82.95676565411722
84.25690684305728 83.19972846225775
84.27938663923503 83.28510503845854
84.45467716218090 83.41003730434703
84.51563186125925 83.67773614721280
84.56139892968321 84.02082201151110
84.69819452180658 84.10495346787033
84.78125989622576 84.47867803506055
```
Note for backporter:
test_jit's `success_count` would be 1 in Ruby 2.6, since 2.7 introduced
"MJIT recompile" on JIT-ed code cancel.
[Bug #16139]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fix uplevel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Do not turn on keyword_init for Struct subclass if keyword hash is
empty
This was accidentally turned on because there was no checking for
Qundef.
Also, since only a single keyword is currently supported, simplify
the rb_get_kwargs call.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Avoid jumping to a wrong destination
when the next insn is already compiled by former branches.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fixed duplicated warning
As `command_rhs` is always a "value expression", `command_asgn`
does not need the same check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
`Regexp` in `MatchData` can be `nil`
`String#sub` with a string pattern defers creating a `Regexp`
until `MatchData#regexp` creates a `Regexp` from the matched
string. `Regexp#last_match(group_name)` accessed its content
without creating the `Regexp` though. [Bug #16508]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Restart timer thread even after preparation failed
If the timer thread is left stopped, memory crash or segfault can
happen. [Bug #16624]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
d6a2bce64a7fa1099e507e1d36b5f1533f42f60f,c687be4bc01c9ce52ea990945d9304d6fe59fe9b: [Backport #16159]
time.c (find_time_t): fix round-to-zero bug
`find_time_t` did not work correctly for year older than the Epoch
because it used C's integer division (which rounds negative to zero).
For example, `TIme.new(1933)` returned a wrong time whose year is 1922
in Asia/Kuala_Lumpur because there is no 00:00:00 1st Jan. 1933 in the
time zone.
```
$ TZ=Asia/Kuala_Lumpur ruby -e 'p Time.new(1933)'
1932-12-31 00:00:00 +0700
```
This change fixes the issue by using `DIV` macro instead of `/`.
Now `Time.new(1933)` returns a time in 1933.
```
$ TZ=Asia/Kuala_Lumpur ruby -e 'p Time.new(1933)'
1933-01-01 00:20:00 +0720
```
[Bug #16159]
Added a test for [Bug #16159]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fix memory corruption in Enumerable#reverse_each [ruby-dev:50867]
[Bug #16354]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
c9423b016cfeab852bc5a829e55e0a11f80b3ab7,0b1e26398e018116180bf41cb63887f77d5d1b82,78ee2c245331e353e218b8fac9ca722a2bcd8fea: [Backport #15968]
marshal.c: check instance variable count
* marshal.c (w_obj_each): ensure that no instance variable was
added while dumping other instance variables. [Bug #15968]
Hoisted out w_ivar_each
marshal.c: check instance variable count
* marshal.c (w_ivar_each): ensure that no instance variable was
removed while dumping other instance variables. [Bug #15968]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Avoid triggering autoload in Module#const_defined?(String)
[Bug #15780]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
e1b592b508c72a56ae012869d97fe1580ff87246,d10451f3fd51f577e704db770de48d05044eb45c: [Backport #15758]
test_module.rb: fix a typo
* test/ruby/test_module.rb (TestModule#test_nested_get): fix a
typo. nested module's name is a qualified path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
object.c: fix searching nested const paths
* object.c (rb_mod_const_get, rb_mod_const_defined): nested const
paths should not search from toplevel constants.
[ruby-core:92202] [Bug #15758]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fix for wrong fnmatch patttern
* dir.c (file_s_fnmatch): ensure that pattern does not contain a
NUL character. https://hackerone.com/reports/449617
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
test/ruby/test_fiber.rb: reduce the count of object creation to cause
GC
The test consistently fails on OpenBSD.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20190903T010009Z.fail.html.gz
```
1) Failure:
TestFiber#test_fork_from_fiber [/home/chkbuild/chkbuild/tmp/build/20190903T010009Z/ruby/test/ruby/test_fiber.rb:327]:
[ruby-core:41456].
<0> expected but was
<1>.
```
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Revert "parse.y: Deprecate flip-flops"
This reverts commit bae638ad5b782c44c80efe33834cb9039279af46.
[Feature #5400]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fixed heap-use-after-free
* string.c (rb_str_sub_bang): retrieves a pointer to the
replacement string buffer just before using it, for the case of
replacement with the receiver string itself. [Bug #16105]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
UTF LE is fixed at least the first 2 bytes
* io.c (io_strip_bom): if the first 2 bytes are 0xFF0xFE, it
should be a little-endian UTF, 16 or 32. [Bug #16099]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
should not free local hook_list here.
exec_hooks_postcheck() clean executed hook_list if it is needed.
list_exec is freed if there are no events and this list is local
event (connected to specific iseq). However, iseq keeps to point
this local hook_list, freed list. To prevent this situation,
do not free hook_list here even if it has no events.
This issue is reported by @joker1007.
https://twitter.com/joker1007/status/1153649170797830144
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
f1b76ea63ce40670071a857f408a4747c571f1e9,1d1f98d49c9908f4e3928e582d31fd2e9f252f92: [Backport #16024]
Occupy match data
* string.c (rb_str_split_m): occupy match data not to be modified
during yielding the block. [Bug #16024]
Reuse match data
* string.c (rb_str_split_m): reuse occupied match data. [Bug #16024]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
8aecc90974ab1ac87056f77e2cb3406c5c041504,2f6cc15cdb3d64135b29cfd5ee376a5a03ebbee7: [Backport #15965]
Hoisted out WIDE_ENCODINGS
Fixed String#grapheme_clusters with wide encodings
* string.c (get_reg_grapheme_cluster): make regexp from properly
encoded sources fro wide-char encodings. [Bug #15965]
* regparse.c (node_extended_grapheme_cluster): suppress false
duplicated range warning for the time being.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
ec8e5f5aa64e2a54cf1e303f2b012c98e8d521ba,5a187e26adc8aa32367f294c1496935c7356d386: [Backport #15952]
array.c: always check frozenness in Array#unshift. Fixes [Bug #15952]
Closes: https://github.com/ruby/ruby/pull/2251
array.c add back shared array optimization to
ary_ensure_room_for_unshift
Bug fix in commit ec8e5f5aa64e2a [Bug #15952] disabled an
optimization in this function.
Closes: https://github.com/ruby/ruby/pull/2252
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
28678997e40869f5591eae60edd9757334426ffb,8797f48373dcfa3ff8e748667732dea8aea4347e: [Backport #15937]
Preserve the string content at self-copying
* string.c (rb_str_init): preserve the embedded content when
self-copying with a capacity. [Bug #15937]
New buffer for shared string
* string.c (rb_str_init): allocate new buffer if the string is
shared. [Bug #15937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
5931857281ce45c1c277aa86d1588119ab00a955,76e2370f132f83c16c9de39a0a9356579f364527: [Backport #16041]
Fix dangling path name from fstring
* parse.y (yycompile): make sure in advance that the `__FILE__`
object shares a fstring, to get rid of dangling path name.
Fixed up 53e9908d8afc7f03109b0aafd1698ab35f512b05. [Bug #16041]
* vm_eval.c (eval_make_iseq): ditto.
Fix dangling path name from fstring
* load.c (rb_require_internal): make sure in advance that the path
to be loaded shares a fstring, to get rid of dangling path name.
Fixed up 5931857281ce45c1c277aa86d1588119ab00a955. [Bug #16041]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
String#b: Don't depend on dependent string
Registering a string that depend on a dependent string as fstring
can lead to use-after-free. See c06ddfe and 3f95620 for details.
The following script triggers use-after-free on trunk, 2.4.6, 2.5.5
and 2.6.3. Credits to @wanabe for using eval as a cross-version way
of registering a fstring.
```ruby
a = ('j' * 24).b.b
eval('', binding, a)
p a
4.times { GC.start }
p a
```
- string.c (str_replace_shared_without_enc): when given a
dependent string, depend on the root of the dependent
string.
[Bug #15934]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
3f9562015e651735bfc2fdd14e8f6963b673e22a,c06ddfee878524168e4af07443217ed2f8d0954b,3b3b4a44e57dfe03ce3913009d69a33d6f6100be: [Backport #15792]
Get rid of indirect sharing
* string.c (str_duplicate): share the root shared string if the
original string is already sharing, so that all shared strings
refer the root shared string directly. indirect sharing can
cause a dangling pointer.
[Bug #15792]
str_duplicate: Don't share with a frozen shared string
This is a follow up for 3f9562015e651735bfc2fdd14e8f6963b673e22a.
Before this commit, it was possible to create a shared string which
shares with another shared string by passing a frozen shared string
to `str_duplicate`.
Such string looks like:
```
-------- -----------------
| root | ------ owns -----> | root's buffer |
-------- -----------------
^ ^ ^
----------- | |
| shared1 | ------ references ----- |
----------- |
^ |
----------- |
| shared2 | ------ references ---------
-----------
```
This is bad news because `rb_fstring(shared2)` can make `shared1`
independent, which severs the reference from `shared1` to `root`:
```c
/* from fstr_update_callback() */
str = str_new_frozen(rb_cString, shared2); /* can return shared1 */
if (STR_SHARED_P(str)) { /* shared1 is also a shared string */
str_make_independent(str); /* no frozen check */
}
```
If `shared1` was the only reference to `root`, then `root` can be
reclaimed by the GC, leaving `shared2` in a corrupted state:
```
----------- --------------------
| shared1 | -------- owns --------> | shared1's buffer |
----------- --------------------
^
|
----------- -------------------------
| shared2 | ------ references ----> | root's buffer (freed) |
----------- -------------------------
```
Here is a reproduction script for the situation this commit fixes.
```ruby
a = ('a' * 24).strip.freeze.strip
-a
p a
4.times { GC.start }
p a
```
- string.c (str_duplicate): always share with the root string when
the original is a shared string.
- test_rb_str_dup.rb: specifically test `rb_str_dup` to make
sure it does not try to share with a shared string.
[Bug #15792]
Closes: https://github.com/ruby/ruby/pull/2159
Update dependencies
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fix SystemStackError when calling a method in an unused refinement
Fixes [Bug #15720]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Revert r63383, r63248 "compile.c: copy a short insn with leave"
When copying `leave` insn, TRACE also should be copied if it is
present, but this optimization is trivial and not worth the
complexity. [ruby-core:91366] [Bug #15578]
4cae5353c03009beb1e0a1619422072773580609
5afd479de63b6609ddcd1510da94d2c1ac384f7f
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
6375c68f8851e1e0fee8a95afba91c4555097127,c05eaa93258ddc01e685b6cc3a0da82998a2af48: [Backport #15839]
parse.y: function parser_mixed_error & parser_mixed_escape
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fix mixed encoding in heredoc
Heredocs are parsed line-by-line, so we need to keep track of the
temporary encoding of the string. Previously, a heredoc would
only detect mixed encoding errors if they were on the same line,
this changes things so they will be caught on different lines.
Fixes [Bug #15839]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Keep vm->orig_progname alive
`vm->orig_progname` can be different from `vm->progname` when user
code assigns to `$0`. While `vm->progname` is kept alive by the
global table, nothing marked `vm->orig_progname`.
[Bug #15887]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
d0ba4abf1a00339ebbb5d405db3240a8bdb7b68b,54eac83b2ad77ddea84fa6d66c09e0bb014cf61e: [Backport #15786]
Add RB_ID_SERIAL_MAX
Hide internal IDs
* parse.y (internal_id): number the ID serial for internal use by
counting down from the neary maximum value, not to accidentally
match permanent IDs.
[Bug #15768]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
compile.c: Partially revert r63870 which caused wrong optimization
[Bug #15906]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Always mark the string returned by File.realpath as tainted
This string can include elements that were not in either string
passed to File.realpath, even if one of the strings is an
absolute path, due to symlinks:
```ruby
Dir.mkdir('b') unless File.directory?('b')
File.write('b/a', '') unless File.file?('b/a')
File.symlink('b', 'c') unless File.symlink?('c')
path = File.realpath('c/a'.untaint, Dir.pwd.untaint)
path # "/home/testr/ruby/b/a"
path.tainted? # should be true, as 'b' comes from file system
```
[Bug #15803]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
change lib/unicode_normalize/tables.rb to single item per line to make diffs shorter
* template/unicode_norm_gen.tmpl: Change formatting of output to produce only a
single item (or range) for each line to make future diffs shorter and easier
to understand and check.
* lib/unicode_normalize/tables.rb: output of the above
update to Unicode Version 12.1.0 (beta)
Unicode Version 12.1.0 adds one single character, U+32FF SQUARE ERA NAME REIWA,
for the new Japanese era starting on May 1st. 12.1.0 will be finalized only on
May 7th, so we go with the beta version because further changes in the data we
need are highly unlikely, and we want to make sure Ruby is ready for the new era.
* common.mk: change UNICODE_VERSION to 12.1.0, UNICODE_BETA to YES
* enc/unicode/12.1.0, enc/unicode/12.1.0/casefold.h, enc/unicode/12.1.0/name2ctype.h:
add directory and generated data files for new version
* lib/unicode_normalize/tables.rb: update for new character
* test/ruby/test_regexp.rb: add test for character property age=12.1
* test/test_unicode_normalize.rb: add test for NFKC decomposition of new character
This (mostly) completes issue #15195.
remove Unicode 12.0.0 related directory and generated files
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
enumerator.c: force hash values fixable
* enumerator.c (arith_seq_hash): force hash values fixable on
LLP64 environment. [ruby-core:92190] [Bug #15755]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
range.c: force hash values fixable
* range.c (method_hash): force hash values fixable on LLP64
environment. [ruby-core:92191] [Bug #15756]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
range.c: force hash values fixable
* range.c (range_hash): force hash values fixable on LLP64
environment. [ruby-core:92194] [Bug #15757]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
dir.c: fix Dir.glob starts with brace
* dir.c (ruby_glob0): expand braces if a glob pattern starts with
brace.
[ruby-core:91728] [Bug #15649]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
eval.c: clear internal errinfo
* eval.c (ruby_cleanup): clear internal error info when invoking
end procs. [ruby-core:91731] [Bug #15650]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
io.c: chomp CR at the end of read buffer
* io.c (rb_io_getline_fast): chomp CR followed by LF but separated
by the read buffer boundary. [ruby-core:91707] [Bug #15642]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
string.c: respect the actual encoding
* string.c (rb_enc_str_coderange): respect the actual encoding of
if a BOM presents, and scan for the actual code range.
[ruby-core:91662] [Bug #15635]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
enumerator.c: fix arith_seq_first for Infinity
* enumerator.c (arith_seq_first): fix for Float::INFINITY.
* test/ruby/test_arithmetic_sequence.rb: add tests.
* numeric.c (ruby_float_step_size): export for internal use.
* internal.h: add prototype declaration of ruby_float_step_size.
[ruby-core:90937][Bug #15518]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fix `Module#const_defined?` on inherited constants
[Fix GH-2061]
From: manga_osyo <manga.osyo@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
vm_args.c: search symbol proc in super classes
* vm_args.c (refine_sym_proc_call): traverse ancestors to search
inherited methods for symbol proc.
[ruby-dev:50741] [Bug #15489]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|