aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* NEWS: Fix the example of Lazy#eagerv2_7_0_preview2Yusuke Endoh2019-10-221-7/+3
|
* NEWS: add an example for Lazy#eagerYusuke Endoh2019-10-221-0/+9
|
* NEWS: Make Net::FTP#features and #option more informativeYusuke Endoh2019-10-221-1/+2
|
* test/ruby/test_exception typo fixMSP-Greg2019-10-221-1/+1
|
* appveyor.yml - remove timezone & tzinfo gems from MSVC buildsMSP-Greg2019-10-221-1/+3
| | | | Not compatible with concurrent-ruby dependency
* Add a cron job to keep CPDEBUG workingAlan Wu2019-10-221-0/+9
|
* Fix build for CPDEBUG=1Alan Wu2019-10-221-1/+1
| | | | The declarations went out-of-sync in dcfb7f6.
* Fix Fiber#transferJeremy Evans2019-10-213-10/+18
| | | | | | | | | | | | | Fiber#transfer previously made it impossible to resume the fiber if it was transferred to (no resuming the target of Fiber#transfer). However, the documentation specifies that you cannot resume a fiber that has transferred to another fiber (no resuming the source of Fiber#transfer), unless control is transferred back. Fix the code by setting the transferred flag on the current/source fiber, and unsetting the transferred flag on the target fiber. Fixes [Bug #9664] Fixes [Bug #12555]
* Fallback to TCP in resolv if UDP bind raises EACCESJeremy Evans2019-10-211-2/+7
| | | | | | Original patch from Andy Grimm. Fixes [Bug #10747]
* Arguments forwarding [Feature #16253]Nobuyoshi Nakada2019-10-224-3/+99
|
* NEWS: fixed method names [ci skip]Nobuyoshi Nakada2019-10-221-1/+1
|
* NEWS: fixed mark-up [ci skip]Nobuyoshi Nakada2019-10-221-2/+1
|
* * 2019-10-22 [ci skip]git2019-10-221-1/+1
|
* add an NEWS entry about [Feature #15575]Koichi Sasada2019-10-221-0/+3
|
* add a NEWS entry about Proc#to_s changeKoichi Sasada2019-10-221-0/+3
|
* fix NEWS entry about unbundled gemsKoichi Sasada2019-10-221-1/+2
|
* NEWS: fixed indents [ci skip]Nobuyoshi Nakada2019-10-211-6/+6
|
* NEWS: fix a typoYusuke Endoh2019-10-211-1/+1
|
* bignum.c (estimate_initial_sqrt): prevent integer overflowYusuke Endoh2019-10-212-1/+12
| | | | | `Integer.sqrt(0xffff_ffff_ffff_ffff ** 2)` caused assertion failure because of integer overflow. [ruby-core:95453] [Bug #16269]
* NEWS: structured the "Language changes" sectionYusuke Endoh2019-10-211-11/+72
| | | | | | | | | | | | | There were too many items in the section in somewhat random order. This change creates the following five subsections: * Pattern matching * The spec of keyword arguments is changed towards 3.0 * Numbered parameter * proc/lambda without no block is deprecated * Other miscellaneous changes Also it adds a handful of example code.
* [Bug #16121] adjusted indent [ci skip]Nobuyoshi Nakada2019-10-211-15/+15
|
* Stop making a redundant hash copy in Hash#dup (#2489)Dylan Thacker-Smith2019-10-212-55/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Stop making a redundant hash copy in Hash#dup It was making a copy of the hash without rehashing, then created an extra copy of the hash to do the rehashing. Since rehashing creates a new copy already, this change just uses that rehashing to make the copy. [Bug #16121] * Remove redundant Check_Type after to_hash * Fix freeing and clearing destination hash in Hash#initialize_copy The code was assuming the state of the destination hash based on the source hash for clearing any existing table on it. If these don't match, then that can cause the old table to be leaked. This can be seen by compiling hash.c with `#define HASH_DEBUG 1` and running the following script, which will crash from a debug assertion. ```ruby h = 9.times.map { |i| [i, i] }.to_h h.send(:initialize_copy, {}) ``` * Remove dead code paths in rb_hash_initialize_copy Given that `RHASH_ST_TABLE_P(h)` is defined as `(!RHASH_AR_TABLE_P(h))` it shouldn't be possible for a hash to be neither of these, so there is no need for the removed `else if` blocks. * Share implementation between Hash#replace and Hash#initialize_copy This also fixes key rehashing for small hashes backed by an array table for Hash#replace. This used to be done consistently in ruby 2.5.x, but stopped being done for small arrays in ruby 2.6.x. This also bring optimization improvements that were done for Hash#initialize_copy to Hash#replace. * Add the Hash#dup benchmark
* add a NEWS entry about [Feature #15602]Koichi Sasada2019-10-211-0/+3
|
* Pass the called keyword arguments if `keyword_init`Nobuyoshi Nakada2019-10-212-6/+19
|
* * expand tabs. [ci skip]git2019-10-211-155/+155
| | | | | Tabs were expanded because previously the file did not have any tab indentation. Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
* Look up event ID offsets by token as indexNobuyoshi Nakada2019-10-211-168/+164
|
* st: Do error check only on non-RubyK.Takata2019-10-211-0/+16
|
* st: Add NULL checkingK.Takata2019-10-211-2/+26
| | | | These are found by Coverity.
* Make suggestions order stable [Bug #16263]Nobuyoshi Nakada2019-10-211-1/+1
| | | | | As the result order of `DidYouMean::SpellChecker#correct` is undefined, keep the order of the original candidates.
* test/optparse/test_did_you_mean.rb - fix suggestion orderMSP-Greg2019-10-211-3/+3
|
* DidYouMean can be an empty stub module [Bug #16263]Nobuyoshi Nakada2019-10-211-1/+1
|
* * 2019-10-21 [ci skip]git2019-10-211-1/+1
|
* test_exception - fix with & w/o did_you_meanMSP-Greg2019-10-211-2/+5
| | | | See Ruby issue 16263
* Also BDOT2 and BDOT3 are operatorsNobuyoshi Nakada2019-10-201-0/+2
|
* show BASERUBY version at configure.Koichi Sasada2019-10-201-0/+3
|
* Native MonitorMixin::ConditionVariable#waitKoichi Sasada2019-10-202-22/+43
| | | | | MonitorMixin::ConditionVariable#wait can be interrupted just after Monitor#exit_for_cond. So implementation in C.
* delegate synchronize methodKoichi Sasada2019-10-201-6/+1
| | | | | | | | Delegate MonitorMixin#synchronize body to Monitor#synchronize. It makes guarantee interrupt safe (because Monitor#synchronize is written in C). I thought Ruby implementation is also safe, but I got stuck failure <http://ci.rvm.jp/results/trunk_test@P895/2327639> so that I introduce this fix to guarantee interrupt safe.
* make monitor.so for performance. (#2576)Koichi Sasada2019-10-206-79/+250
| | | | | | | | | | | | | | | 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.
* * 2019-10-20 [ci skip]git2019-10-201-1/+1
|
* Fixed a typo [ci skip]Nobuyoshi Nakada2019-10-201-1/+1
|
* Extend Ripper DSL to set to pseudo variables other than `$$`Nobuyoshi Nakada2019-10-191-4/+6
|
* appveyor.yml - MinGW - update for MSYS2 / Mingw-w64 (#2573)MSP-Greg2019-10-181-1/+3
| | | | | MSYS source code comes from both gcc.gnu.org & Mingw-w64. Updates to the Mingw-w64 source broke the MinGW build step. Fixes the issue until Mingw-w64 updates their source, then it should be reverted, see comments in code.
* * 2019-10-19 [ci skip]git2019-10-191-1/+1
|
* Fixed passing idNil as a SymbolNobuyoshi Nakada2019-10-191-8/+8
|
* Verbatim texts need more indent [ci skip]Nobuyoshi Nakada2019-10-181-12/+16
| | | | And separate ruby script and executed example.
* Use `_` instead of `_n_`Kazuhiro NISHIYAMA2019-10-181-1/+1
|
* NEWS: Mention that optparse now supports did_you_mean for unknown optionYusuke Endoh2019-10-181-0/+17
|
* Support DidYouMean by AmbiguousOption tooNobuyoshi Nakada2019-10-182-2/+9
|
* Defer adding additional info until getting the message of an errorNobuyoshi Nakada2019-10-181-13/+20
|
* Default DidYouMean.formatter to PlainFormatterNobuyoshi Nakada2019-10-181-1/+5
|