summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-11-05`DottedFormatter#finish` consistencyNobuyoshi Nakada
Rmoved optional parameter `printed_exceptions`, and clear `exceptions` just after printing each exception, instead. Notes: Merged: https://github.com/ruby/ruby/pull/2649
2019-11-05`DottedFormatter#state` consistencyNobuyoshi Nakada
Let the method of `DottedFormatter` subclasses have the same arity. Notes: Merged: https://github.com/ruby/ruby/pull/2649
2019-11-05Revert "[EXPERIMENTAL] Make Symbol#to_s return a frozen String [Feature #16150]"NARUSE, Yui
This reverts commit 6ffc045a817fbdf04a6945d3c260b55b0fa1fd1e.
2019-11-05Fix coroutine support on win32Lars Kanis
Ruby master branch currently fails on win32 MINGW at this spec: https://github.com/ruby/spec/blob/master/core/thread/element_set_spec.rb MINGW makes use of setjmp3() implemented in MSVCRT.DLL. This function traverses the SEH list up to a terminating pointer 0xFFFFFFFF. It therefore currently segfaults on NULL. The SEH linked list must be terminated by 0xFFFFFFFF instead of NULL. This fixes the issue mentioned here: https://github.com/ruby/ruby/pull/2279#issuecomment-509508810 Notes: Merged: https://github.com/ruby/ruby/pull/2645
2019-11-05let the .bss section initialize static variables卜部昌平
ISO/IEC 9899:1999 section 6.7.8 specifies the values of static storage which are not explicitly initialized. According to that these initializers can be omitted. Doing so improvoes future compatibility against addition / deletion of the fields of this struct.
2019-11-05rb_method_basic_definition_p with CC卜部昌平
Noticed that rb_method_basic_definition_p is frequently called. Its callers include vm_caller_setup_args_block(), rb_hash_default_value(), rb_num_neative_int_p(), and a lot more. It seems worth caching the method resolution part. Majority of rb_method_basic_definion_p() usages take fixed class and fixed method id combinations. Calculating ------------------------------------- ours trunk so_matrix 2.379 2.115 i/s - 1.000 times in 0.420409s 0.472879s Comparison: so_matrix ours: 2.4 i/s trunk: 2.1 i/s - 1.12x slower Notes: Merged: https://github.com/ruby/ruby/pull/2629
2019-11-05Set $JOBS to Tests for parallel testsNobuyoshi Nakada
2019-11-05Moved Init_encoding from wrong place [Bug #16292]Nobuyoshi Nakada
2019-11-05Fix a typo in WARN_EOLKazuhiro NISHIYAMA
2019-11-05Do not occupy `ARGV` by XRUBY commandNobuyoshi Nakada
Instead run test-bundled-gems.rb by `ENV['RUBY']`, which should be set by runruby.rb. Notes: Merged: https://github.com/ruby/ruby/pull/2646
2019-11-04Use ident hash for top-level recursion checkJohn Hawthorn
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
2019-11-05Put an empty line [ci skip]Nobuyoshi Nakada
2019-11-05More rdoc for ENVBurdette Lamar
Notes: Merged: https://github.com/ruby/ruby/pull/2641
2019-11-05Updated minitest to 5.13.0Nobuyoshi Nakada
2019-11-05Simplify test tasksNobuyoshi Nakada
Removed `if` conditions separating `test-bundled-gems`, and pass `TESTOPTS` and `TEST_BUNDLED_GEMS_ALLOW_FAILURES` via `env`. Notes: Merged: https://github.com/ruby/ruby/pull/2643
2019-11-05Adjust a fucntion signatureNobuyoshi Nakada
2019-11-04Fix zero free objects assertionAaron Patterson
This commit is to attempt fixing this error: http://ci.rvm.jp/results/trunk-gc-asserts@ruby-sky1/2353281 Each non-full heap_page struct contains a reference to the next page that contains free slots. Compaction could fill any page, including pages that happen to be linked to as "pages which contain free slots". To fix this, we'll iterate each page, and rebuild the "free page list" depending on the number of actual free slots on that page. If there are no free slots on the page, we'll set the free_next pointer to NULL. Finally we'll pop one page off the "free page list" and set it as the "using page" for the next allocation.
2019-11-05Fixed conditional expressions with only one void sideNobuyoshi Nakada
2019-11-05* 2019-11-05 [ci skip]git
2019-11-05Share test-bundled-gems-run in common.mkNobuyoshi Nakada
2019-11-04Keep `lex.pcur` after `looking_at_eol_p`Nobuyoshi Nakada
2019-11-04Warn `if` and `elsif` at EOL [EXPERIMENTAL]Nobuyoshi Nakada
It is unnatural and probably a typo.
2019-11-04Revert "Warn `if` and `elsif` at EOL [EXPERIMENTAL]"Yusuke Endoh
This reverts commit ba35c14325ebbf1da8f200df83c45ee9937ff8a1. This is because ripper fails symbol lookup error.
2019-11-04Warn `if` and `elsif` at EOL [EXPERIMENTAL]Nobuyoshi Nakada
It is unnatural and probably a typo.
2019-11-04Fix a typo [ci skip]Kazuhiro NISHIYAMA
2019-11-04Fixed a typoNobuyoshi Nakada
2019-11-04sync_default_gems.rb: Show the progress at fetchingNobuyoshi Nakada
It looks like hanging up when fetching from a remote first time.
2019-11-04[ruby/racc] Strip trailing whitespaces at the last line of actionsNobuyoshi Nakada
https://github.com/ruby/racc/commit/a887ebe529
2019-11-04* 2019-11-04 [ci skip]git
2019-11-04Use the dedicated function `rb_io_check_io`Nobuyoshi Nakada
2019-11-03Added assertions for linebreakNobuyoshi Nakada
2019-11-03[DOC] mentioned `\R` [ci skip]Nobuyoshi Nakada
2019-11-03[DOC] \s in regexp is not same as in string [ci skip]Nobuyoshi Nakada
2019-11-03Fix warnings in Regexp#{match,match?} specsBenoit Daloze
2019-11-03Update NEWS entry for Feature #13083Benoit Daloze
2019-11-03Remove incorrect NEWS entry, only Regexp#match and #match? changedBenoit Daloze
2019-11-03* 2019-11-03 [ci skip]git
2019-11-03Improve warning messageKenichi Kamiya
https://github.com/ruby/ruby/pull/2637#discussion_r341812475
2019-11-03Revert nil error and adding deprecation messageKenichi Kamiya
Notes: Merged: https://github.com/ruby/ruby/pull/2637
2019-11-02Correct documented return values for certain ENV methods (#2620)Burdette Lamar
2019-11-02* 2019-11-02 [ci skip]git
2019-11-02Use prompt_list to calculate height by linesaycabta
2019-11-01Clean up implementation of SOCKSSocket, its confusing and undocumentedJustin McNally
Notes: Merged: https://github.com/ruby/ruby/pull/2539
2019-11-01Prefer libsocksd over libsocksJustin McNally
Notes: Merged: https://github.com/ruby/ruby/pull/2538
2019-11-01Support libsocksd socks library for SOCKSSocketJustin McNally
Notes: Merged: https://github.com/ruby/ruby/pull/2538
2019-11-01Mention correct class name in uninitialized errorAlan Wu
I think this meant to mention `MatchData`? This is a breaking change, but should be a minor one. Notes: Merged: https://github.com/ruby/ruby/pull/2608
2019-11-01Fix a typo [ci skip]Kazuhiro NISHIYAMA
Notes: Merged: https://github.com/ruby/ruby/pull/2510
2019-11-01[ruby/date] Added update-zonetab targetNobuyoshi Nakada
https://github.com/ruby/date/commit/9bc6e30a82
2019-11-01[ruby/date] Remove unneeded line in update-abbrJeremy Evans
https://github.com/ruby/date/commit/ae14e5f293
2019-11-01[ruby/date] Add more timezone abbreviationsJeremy Evans
This gets the time zone abbreviations from https://www.timeanddate.com/time/zones/, and adds unambiguous time zones not already present in zonetab.list. See bin/update-abbr for the program used. This regenerates zonetab.h using prereq.mk (requires gperf). Only one test line is added, just to make sure a new time zone abbreviation is picked up. Fixes Ruby Bug 16286 https://github.com/ruby/date/commit/702e8b3033