aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/reline] Add alias vi-movement-mode to vi-command-mode for compatibilityaycabta2020-12-052-0/+15
| | | | https://github.com/ruby/reline/commit/a79c297567
* [ruby/reline] Move alias_method to right after original definitionaycabta2020-12-051-1/+1
| | | | https://github.com/ruby/reline/commit/b7c8b93fa9
* [ruby/reline] Call process_insert when the end of pasting plural fullwidth charsaycabta2020-12-055-1/+72
| | | | https://github.com/ruby/reline/commit/594484d9f9
* [ruby/reline] Motions e, E, t, f should include a char on cursor if follows ↵aycabta2020-12-052-22/+122
| | | | | | operator https://github.com/ruby/reline/commit/86e9a76499
* [ruby/reline] Implement vi_yankaycabta2020-12-052-0/+26
| | | | https://github.com/ruby/reline/commit/164aaf9a5f
* [ruby/reline] Operator with arg need to make sure that they take arg to ↵aycabta2020-12-052-1/+14
| | | | | | avoid crashing https://github.com/ruby/reline/commit/1c0c06de1f
* [ruby/reline] Unimplemented vi command should be no-opaycabta2020-12-052-2/+15
| | | | https://github.com/ruby/reline/commit/abc90e6867
* [ruby/reline] Keep operator proc as a local variable in the scopeaycabta2020-12-052-1/+15
| | | | | | The proc variable will be used later so the instance variable will be changes. https://github.com/ruby/reline/commit/496c4361f6
* [ruby/reline] Skip em_exchange_mark without markaycabta2020-12-052-0/+21
| | | | https://github.com/ruby/reline/commit/abb56e5ec3
* [ruby/reline] Backspace and C-h should be unassigned on vi command modeaycabta2020-12-051-2/+2
| | | | https://github.com/ruby/reline/commit/28f4dae020
* [ruby/reline] Version 0.1.7aycabta2020-12-051-1/+1
| | | | https://github.com/ruby/reline/commit/710ca23427
* [ruby/reline] Continuous insertion bufferingaycabta2020-12-051-24/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rendering time in IRB has been reduced as follows: start = Time.now [{"_id"=>"5f9072a4589a06d2d74b6028", "index"=>0, "guid"=>"6b3051e2-dbc7-4537-bdb9-6cd7bb5358a7", "isActive"=>true, "balance"=>"$1,442.84", "picture"=>"http://placehold.it/32x32", "age"=>34, "eyeColor"=>"blue", "name"=>{"first"=>"Ward", "last"=>"Levy"}, "company"=>"HYPLEX", "email"=>"ward.levy@hyplex.us", "phone"=>"+1 (867) 568-3319", "address"=>"867 Cobek Court, Clara, Maryland, 3254", "about"=> "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing.", "registered"=>"Monday, May 25, 2015 6:51 AM", "latitude"=>"16.001127", "longitude"=>"-72.377848", "tags"=>["dolore", "nostrud", "occaecat", "cillum", "nisi"], "range"=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "friends"=> [{"id"=>0, "name"=>"Alison Bryant"}, {"id"=>1, "name"=>"Ester Espinoza"}, {"id"=>2, "name"=>"Sullivan Kane"}], "greeting"=>"Hello, Ward! You have 7 unread messages.", "favoriteFruit"=>"apple"}] puts "Duration: #{Time.now - start} seconds" 2.17sec -> 0.92sec start = Time.now "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing." puts "Duration: #{Time.now - start} seconds" 1.57sec -> 0.22sec start = Time.now def each_top_level_statement initialize_input catch(:TERM_INPUT) do loop do begin prompt unless l = lex throw :TERM_INPUT if @line == '' else @line_no += l.count("\n") next if l == "\n" @line.concat l if @code_block_open or @ltype or @continue or @indent > 0 next end end if @line != "\n" @line.force_encoding(@io.encoding) yield @line, @exp_line_no end break if @io.eof? @line = '' @exp_line_no = @line_no @indent = 0 rescue TerminateLineInput initialize_input prompt end end end end puts "Duration: #{Time.now - start} seconds" 0.88sec -> 0.77sec https://github.com/ruby/reline/commit/7d87ac5a12
* [ruby/reline] Improve the performance of `get_mbchar_width`Yusuke Endoh2020-12-052-28/+38
| | | | | | | It is about three times faster to use one big regexp instead of sequential matching. https://github.com/ruby/reline/commit/e36f6c0707
* [ruby/reline] Version 0.1.6aycabta2020-12-051-1/+1
| | | | https://github.com/ruby/reline/commit/20a7806815
* [ruby/reline] Update the generator script tooYusuke Endoh2020-12-051-6/+6
| | | | https://github.com/ruby/reline/commit/8b0926820a
* [ruby/reline] Suppress callbacks in pastingaycabta2020-12-055-2/+58
| | | | | | | | IRB uses Reline's 3 dynamic real-time callbacks with calling Ripper; output_modifier_proc, prompt_proc, and auto_indent_proc. These processing times make the paste time too long. https://github.com/ruby/reline/commit/beec3399a8
* [ruby/reline] Bypass newline insertion at eol on command promptaycabta2020-12-051-21/+21
| | | | | | | A newline is automatically inserted if a character is rendered at eol on command prompt. https://github.com/ruby/reline/commit/2dfd5d0df8
* [ruby/reline] Improve the regexps for EastAsianWidthYusuke Endoh2020-12-051-1148/+1148
| | | | | | A character class is about three times faster than Regexp alternatives https://github.com/ruby/reline/commit/57c7955c55
* [ruby/reline] Deduplicate completed itemsaycabta2020-12-052-1/+31
| | | | https://github.com/ruby/reline/commit/2dabf0c786
* [ruby/reline] Use yamatanooroti 0.0.6 for supporting startup_message on Windowsaycabta2020-12-051-1/+1
| | | | https://github.com/ruby/reline/commit/167423b664
* [ruby/reline] Add tests about complicated renderingaycabta2020-12-051-0/+135
| | | | https://github.com/ruby/reline/commit/f4683b72eb
* [ruby/reline] Test prompt with escape sequenceaycabta2020-12-051-0/+28
| | | | https://github.com/ruby/reline/commit/c7c1d5f5d1
* [ruby/reline] Use startup_option instead of startup waitaycabta2020-12-052-24/+13
| | | | https://github.com/ruby/reline/commit/a63ce6371c
* [ruby/reline] Wait for the process to be started in start_terminalaycabta2020-12-051-0/+3
| | | | https://github.com/ruby/reline/commit/d29d33dcf5
* [ruby/reline] Add write_inputrcaycabta2020-12-051-36/+30
| | | | https://github.com/ruby/reline/commit/70536d8c9a
* [ruby/reline] Update to Unicode 13.0.0aycabta2020-12-051-36/+55
| | | | https://github.com/ruby/reline/commit/d49bb0aa34
* Add T_MOVED to rp command of GDBPeter Zhu2020-12-041-0/+5
|
* Guard all accesses to RubyVM::MJIT with defined?(RubyVM::MJIT) &&Benoit Daloze2020-12-0418-42/+42
| | | | * Otherwise those tests, etc cannot run on alternative Ruby implementations.
* * 2020-12-05 [ci skip]git2020-12-051-1/+1
|
* 2.8 -> 3.0 in specsBenoit Daloze2020-12-0416-17/+15
|
* Add a hook before fork() for getaddrinfo_a()Masaki Matsushita2020-12-045-0/+140
| | | | | | | | | We need stop worker threads in getaddrinfo_a() before fork(). This change adds a hook before fork() that cancel all outstanding requests and wait for all ongoing requests. Then, it waits for all worker threads to be finished. Fixes [Bug #17220]
* Added dependencies for rindaHiroshi SHIBATA2020-12-041-0/+4
|
* [ruby/logger] Consider cygwin a Windows platformJeremy Evans2020-12-042-2/+2
| | | | | | This should fix Ruby Bug 12468. https://github.com/ruby/logger/commit/49de53d1fc
* [ruby/mutex_m] Fix `Mutex_m#initialize` when the super's initialize has kwargsMasataka Pocke Kuwabara2020-12-042-0/+33
| | | | | | Co-authored-by: Ryuta Kamizono <kamipo@gmail.com> https://github.com/ruby/mutex_m/commit/84ca1fc108
* [ruby/fileutils] Make mkdir_p only attempt to create necessary directoriesJeremy Evans2020-12-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Previously, if creating the directory directly didn't work and the directory didn't exist, mkdir_p would create all directories from the root. This modifies the approach to check whether the directory exists when walking up the directory tree from the argument, and once you have found an intermediate directory that exists, you only need to create directories under it. This approach has a couple advantages: 1) It performs better when most directories in path already exist, and that will be true for most usage of mkdir_p, as mkdir_p is usually called with paths where the first few directories exist and only the last directory or last few directories do not. 2) It works in file-system access limited environments such as when unveil(2) is used on OpenBSD. In these environments, if /foo/bar/baz exists and is unveiled, you can do `mkdir /foo/bar/baz/xyz` but `mkdir /foo` and `mkdir /foo/bar` raise Errno::ENOENT. https://github.com/ruby/fileutils/commit/ec0c229e78
* Skip subclass spec with SortedSetHiroshi SHIBATA2020-12-041-4/+6
|
* SortedSet was removed at a3db08d7b6ff119223f77e3df00b4f6deac971e2Hiroshi SHIBATA2020-12-0453-943/+0
|
* [ruby/set] Add `Set#<=>`Marc-Andre Lafortune2020-12-042-3/+34
| | | | https://github.com/ruby/set/commit/447974a374
* [ruby/set] Remove SortedSet implementationsAkinori MUSHA2020-12-042-364/+1
| | | | | | | | | | | | | It required RBTree to perform decently and the external dependency was not suitable for a standard library. The pure ruby fallback implementation was originally meant to be an example of how to write a subclass of Set, and its poor performance was not suitable for use in production. I decided it should be distributed as an external library instead of bundling it with Set. https://github.com/ruby/set/commit/dfcc8e568b
* [ruby/set] Resurrect support for Ruby 2.xAkinori MUSHA2020-12-042-5/+13
| | | | | | In Ruby 2.x, initialize_copy does not take a freeze option. https://github.com/ruby/set/commit/3da6c309df
* [ruby/zlib] Add Zlib::Inflate#inflate :buffer keyword argumentJeremy Evans2020-12-042-14/+128
| | | | | | | | | | If a buffer keyword argument is given, it is used as the buffer, instead of creating new strings. This can result in significantly lower memory usage during inflation. Implements #19 https://github.com/ruby/zlib/commit/dac9a9b57d
* [ruby/zlib] Allow Zlib.crc32 and .adler32 to accept IO instanceJeremy Evans2020-12-042-3/+42
| | | | | | | | | This reads from the IO in 8192 byte chunks, so you don't need to have the entire string in memory. Fixes #16 https://github.com/ruby/zlib/commit/ba9793c550
* [ruby/zlib] Document that gets can return nil when eof? returns falseJeremy Evans2020-12-041-0/+2
| | | | | | | | This behavior differs from File#gets. Fixes [Bug #13904] https://github.com/ruby/zlib/commit/448e41efdd
* Fixed a code block in NEWS [ci skip]Nobuyoshi Nakada2020-12-041-0/+1
| | | | | A code block needs to be separated from the previous paragraph by an empty line.
* memory_view.c: Fix endianness of n, N, v, VKenta Murata2020-12-042-4/+8
|
* fix initialize orderKoichi Sasada2020-12-041-1/+1
| | | | | | `captured->code.val` should be initialize before because it can be a GC point by another ractor because `RB_OBJ_WRITE` can issue VM locking.
* fix indexKoichi Sasada2020-12-041-2/+3
| | | | | `i` should not be used here because `i` will be `alen` when jumped here by "goto restart".
* Avoid leaving too many core files in /tmpTakashi Kokubun2020-12-031-1/+7
| | | | for CIs like ci.rvm.jp.
* Do not require time and fileutils by defaultTakashi Kokubun2020-12-031-2/+2
| | | | | | I have no idea what I'm doing, but the previous commit caused lots of CI failures like https://github.com/ruby/ruby/runs/1496949568 and this place is the most suspicious.
* Save a core file on a worker crashTakashi Kokubun2020-12-031-0/+7
| | | | | | | | | | CI failures like http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3280458 doesn't provide any useful information, and it doesn't leave a core file in a CI environment because a test like `Process.kill(:TRAP, $$)` overwrites in a next run very quickly. Thus I'd like to keep core files in /tmp.