summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2019-10-21Fallback to TCP in resolv if UDP bind raises EACCESJeremy Evans
Original patch from Andy Grimm. Fixes [Bug #10747] Notes: Merged: https://github.com/ruby/ruby/pull/2587
2019-10-21Make suggestions order stable [Bug #16263]Nobuyoshi Nakada
As the result order of `DidYouMean::SpellChecker#correct` is undefined, keep the order of the original candidates.
2019-10-20make monitor.so for performance. (#2576)Koichi Sasada
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>
2019-10-18Support DidYouMean by AmbiguousOption tooNobuyoshi Nakada
2019-10-18Defer adding additional info until getting the message of an errorNobuyoshi Nakada
2019-10-18Use DidYouMean.formatterNobuyoshi Nakada
Instead of building messages separately.
2019-10-18lib/optparse.rb: Show a did_you_mean hint for unknown optionYusuke Endoh
``` require 'optparse' OptionParser.new do |opts| opts.on("-f", "--foo", "foo") {|v| } opts.on("-b", "--bar", "bar") {|v| } opts.on("-c", "--baz", "baz") {|v| } end.parse! ``` ``` $ ruby test.rb --baa Traceback (most recent call last): test.rb:7:in `<main>': invalid option: --baa (OptionParser::InvalidOption) Did you mean? baz bar ``` Notes: Merged: https://github.com/ruby/ruby/pull/2561
2019-10-17Fix warning of generated parser for nested moduleSeiei Miyagi
Notes: Merged: https://github.com/ruby/ruby/pull/2571
2019-10-18Treat key sequences from getwch() that start from 0 or 0xE0 correctlyaycabta
2019-10-18Add numeric keypad key sequences on Windowsaycabta
2019-10-18Remove freezeaycabta
2019-10-18Ignore the input method key sequence from getwch() correctlyaycabta
The function getwch() returns some key sequences which start from 0 or 0xE0 with a following key code. Alt+` that is on/off key for input methods gives 0 and 41 so Reline was always ignoring 0 and following keys but numeric keypad keys give 0 and following actual keys. This commit changes the behavior to be ignoring only the 0 and 41 sequence.
2019-10-18Insert multiline incremental search result correctlyaycabta
2019-10-17Remove unused variableaycabta
2019-10-17Refactor prompt generation logicaycabta
2019-10-17Use `\&` instead of `\1` with captureKazuhiro NISHIYAMA
2019-10-16Fix DRbServer#any_to_sJeremy Evans
My previous fix in d0ed935d5bf8c3fce9800742a36e44fb7f63dda4 was not correct, as pointed out by cremno on GitHub. This simplifies things by just using Kernel#to_s. Also switch to bind_call(obj) instead of bind(obj).call for better performance. Notes: Merged: https://github.com/ruby/ruby/pull/2554
2019-10-16Do not raise an exception on a closed DRb socketJeremy Evans
This rescues some exceptions that could happen with a closed or shutdown DRb socket. This can prevent the server from exiting if an client socket is closed directly after it is accepted. Fixes [Bug #8039] Notes: Merged: https://github.com/ruby/ruby/pull/2554
2019-10-16Handle subclasses of Exception in drbJeremy Evans
This makes it so that client instances that call a method on a server-side object that raise a subclass of Exception are handled similarly to those that raise a subclass of StandardError. Only reraise exceptions that we are fairly sure we don't want to rescue. Fixes [Bug #5618] Notes: Merged: https://github.com/ruby/ruby/pull/2554
2019-10-17Calculate prompt width correctlyaycabta
2019-10-17Collect multiline prompt logic into a methodaycabta
2019-10-16Support multiline history in incremental searchaycabta
2019-10-16Support backspace in incremental searchaycabta
2019-10-16C-r is incremental history search in vi insert modeaycabta
2019-10-15Fixed the key to delete [Bug #16250]Nobuyoshi Nakada
https://github.com/ruby/ruby/commit/f94202fcc228d0348ca050a7b18a8f8a538a7305#commitcomment-35505076 Co-Authored-By: Ary Borenszweig <asterite@gmail.com>
2019-10-15[rubygems/rubygems] Bump version to 3.1.0.pre2Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/a7a673ce22
2019-10-15Use compare_by_identity hash [Bug #16250]Nobuyoshi Nakada
2019-10-14Simplify circular reference check of IRB::ColorTakashi Kokubun
2019-10-14IRB colorize: take into account recursive arrays and hashes (#2555)Ary Borenszweig
[Bug #16250]
2019-10-14add require "monitor"Masatoshi SEKI
2019-10-14Automatically close fds on fork (and GC). The connection pools are ↵Masatoshi SEKI
maintained at thread scope.
2019-10-14Fix some DRb issues (#2552)Jeremy Evans
* Handle BasicObject in drb Also fix a bug in rescue clause of any_to_s because sprintf does not handle the %l modifier. Fixes [Bug #7833] * Do not send a reply to the client if there is a connection error This allows for normal TCP shutdown (fin-ack-fin-ack instead of fin-ack-push-rst). Patch from pierre@mouraf.org (Pierre-Alexandre Meyer). Fixes [Bug #2339] * Detect fork and do not reuse forked connections in drb This associates each DRbConn with a pid, and if the pid changes, it closes any DRbConns in the pool with a pid that no longer matches. This fixes DRb servers from sending messages intended for one client to another client after forking. Fixes [Bug #2718] Fixes [Bug #14471]
2019-10-12Import CSV 3.1.2 (#2547)Sutou Kouhei
Notes: Merged-By: kou <kou@clear-code.com>
2019-10-12Import REXML 3.2.3 (#2548)Sutou Kouhei
Notes: Merged-By: kou <kou@clear-code.com>
2019-10-11Use `bind_call` instead of `bind` and `call`Kazuhiro NISHIYAMA
2019-10-11set real path to __FILE__ and __dir__ in Binding#irbtakkanm
When reading Binding#irb, the file of the calling source is reflected in __FILE__ and __dir__. Notes: Merged: https://github.com/ruby/ruby/pull/1896
2019-10-10Support delegates for BasicObjectJeremy Evans
For BasicObject, bind the Kernel respond_to? instance method to the object and call it instead of calling the method directly. Also, use bind_call(recv, ...) for better performance. Fixes [Bug #16127] Notes: Merged: https://github.com/ruby/ruby/pull/2546
2019-10-10[rubygems/rubygems] Optimize Gem::Package::TarReader#eachJean Boussier
https://github.com/rubygems/rubygems/commit/1de8f39ac4
2019-10-09Remove uselsess shebangPavel Valena
as the file is not executable anyway. Notes: Merged: https://github.com/ruby/ruby/pull/2483
2019-10-09Update required_ruby_version to 2.4.0aycabta
2019-10-08Check for invalid hex escapes in URI#query=Jeremy Evans
Fixes [Bug #11275] Notes: Merged: https://github.com/ruby/ruby/pull/2535
2019-10-07Version 0.0.3aycabta
2019-10-07Flush console just after printingaycabta
2019-10-07Use built-in Win32API on JRubyaycabta
It's fixed for JRuby dedicatedly.
2019-10-05[rubygems/rubygems] Use dependency.identity in available_specsbronzdoc
https://github.com/rubygems/rubygems/commit/bde88f00a1
2019-10-05[rubygems/rubygems] Add Gem::Dependency#identity methodbronzdoc
https://github.com/rubygems/rubygems/commit/05146bb2fd
2019-10-05[rubygems/rubygems] Always pass an encoding option to Zlib::GzipReader.wrapNobuyoshi Nakada
The arity of this method has been -1 since the import, so the option has been passed always, even if Zlib::GzipReader#initialize does not take the option. Actually it takes the option since 1.9. https://github.com/rubygems/rubygems/commit/2fcde0f4e0
2019-10-01WEBrick: prevent response splitting and header injectionYusuke Endoh
This is a follow up to d9d4a28f1cdd05a0e8dabb36d747d40bbcc30f16. The commit prevented CRLR, but did not address an isolated CR or an isolated LF. Co-Authored-By: NARUSE, Yui <naruse@airemix.jp>
2019-10-01Loop with String#scan without creating substringsNobuyoshi Nakada
Create the substrings necessary parts only, instead of cutting the rest of the buffer. Also removed a useless, probable typo, regexp.
2019-09-27Warn for URI.{,un}{escape,encode}, even if not in verbose modeJeremy Evans
The verbose mode warning has been present for almost 10 years. If we ever plan to remove these methods, we should make the warning a regular deprecation warning so that people are aware. Implements [Feature #15961] Notes: Merged: https://github.com/ruby/ruby/pull/2494