Age | Commit message (Collapse) | Author |
|
This fixes CVE-2021-31810.
Reported by Alexandr Savca.
Co-authored-by: Shugo Maeda <shugo@ruby-lang.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ruby/net-ftp] Bump version to 0.1.2
https://github.com/ruby/net-ftp/commit/895ba44b3c
---
lib/net/ftp.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
[ruby/net-ftp] Replace "iff" with "if and only if"
iff means if and only if, but readers without that knowledge might
assume this to be a spelling mistake. To me, this seems like
exclusionary language that is unnecessary. Simply using "if and only if"
instead should suffice.
https://github.com/ruby/net-ftp/commit/e920473618
---
lib/net/ftp.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
[ruby/net-ftp] Close the passive connection data socket if there is
an error setting up the transfer
Previously, the connection leaked in this case. This uses
begin/ensure and checking for an error in the ensure block.
An alternative approach would be to not even perform the
connection until after the RETR (or other) command has been
sent. However, I'm not sure all FTP servers support that.
The current behavior is:
* Send (PASV/EPSV)
* Connect to the host/port returned in 227/229 reply
* Send (RETR/other command)
Changing it to connect after the RETR could break things.
FTP servers might expect that the client has already
connected before sending the RETR. The alternative
approach is more likely to introduce backwards compatibility
issues, compared to the begin/ensure approach taken here.
Fixes Ruby Bug 17027
https://github.com/ruby/net-ftp/commit/6e8535f076
---
lib/net/ftp.rb | 24 ++++++++++++++----------
test/net/ftp/test_ftp.rb | 39 +++++++++++++++++++++++++++++++++++++--
2 files changed, 51 insertions(+), 12 deletions(-)
|
|
[ruby/net-ftp] Replace Timeout.timeout with socket timeout
Timeout.timeout is inefficient since it spins up a new thread for
each invocation, use Socket.tcp's connect_timeout option instead
when we aren't using SOCKS (we can't replace Timeout.timeout
for SOCKS yet since SOCKSSocket doesn't have a connect_timeout
option).
https://github.com/ruby/net-ftp/commit/d65910132f
---
lib/net/ftp.rb | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
|
|
mkmf: fixed install directories of header files in extension
libraries [Bug #17761]
When installing an extension library which provides a header, that
header should be installed under site_ruby (or vendor_ruby when
"--vendor" option was given to extconf.rb). However, currently
this file is about to be installed in the core include directory.
---
lib/mkmf.rb | 8 ++++----
test/mkmf/test_install.rb | 30 ++++++++++++++++++++++++++++++
2 files changed, 34 insertions(+), 4 deletions(-)
create mode 100644 test/mkmf/test_install.rb
|
|
mkmf.rb: convert also arch_hdrdir [Bug #16651]
---
lib/mkmf.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
[ruby/resolv] Fix confusion of received response message
This is a follow up for commit 33fb966197f1 ("Remove sender/message_id
pair after response received in resolv", 2020-09-11).
As the @senders instance variable is also used for tracking transaction
ID allocation, simply removing an entry without releasing the ID would
eventually deplete the ID space and cause
Resolv::DNS.allocate_request_id to hang.
It seems the intention of the code was to check that the received DNS
message is actually the response for the question made within the method
earlier. Let's have it actually do so.
[Bug #12838] https://bugs.ruby-lang.org/issues/12838
[Bug #17748] https://bugs.ruby-lang.org/issues/17748
https://github.com/ruby/resolv/commit/53ca9c9209
---
lib/resolv.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
b1c73f239fe9af97de837331849f55d67c27561e,bb570ce6d80d28cfc7131dcb72885eed2f989b30,b88d1e6b44164bca0c2b85ea6639469813e1e1d8,127f735c1e5e0771076caf2a74390757a42fb177,f3f1a666c77f8c528b0adc9ccf78e4b9910bd6e0,fa048a0f8523cefde5428805dd334691486319e6,d5d1c41728d65acfb8aa2cf95f2d8ac88f271cd1,52ebaf718e6a78297ceb0dff49815eeed28eae45,7fe22152fc28084f4395fece84ff6e5eb2d6b288,19e6d271266eca5925e66fc8ec39b251a2fa6bcd,05898c5b9001c0b1e8bd7bf0d12b42a8e7c388b8,3651f678a719ae3a35825bcb4e0dabbc7c60d8df,10b082064e6ab0943cce4ef43e567d8044c7096d,de8e6218a3257fe19b46ff0aa157e66f452ac8b7,971a0cd246db6578e1ea8760a903e1a23e3681f3,61a29a41e1d0d11a9963315aa86d25ed690124c0,ff9a00887161840eb8a34d53749a7d7962181cfe,fad3412d475b57055f426cf4e86eafeab516672b,54aa11efa8b1be2c5d20402890d6d2fa90aa19a8,e84d275fe6d0c14ba58ce73b13323879c060b7ae,61e1cf23ac0d122fba3ad4cbaa402c7c94ad54d3,a6948329f8f89fb390215086fe4a888915fd589e,64b991b0cd98ee8f23266b8cbea0fa34bdaab1ec,b1c73f239fe9af97de837331849f55d67c27561e,0ee24b4fab1a1faef600a42c29863e1c3edd8c61: [Backport #17877]
Synchronize rdoc with upstream version v6.3.1.
[ruby/rdoc] Use File.open to fix the OS Command Injection
vulnerability in CVE-2021-31799
https://github.com/ruby/rdoc/commit/a7f5d6ab88
---
lib/rdoc/rdoc.rb | 2 +-
test/rdoc/test_rdoc_rdoc.rb | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
[ruby/rdoc] Support ChangeLog generated by `git log`
https://github.com/ruby/rdoc/commit/5e0a123ca1
---
lib/rdoc/parser/changelog.rb | 35 +++++++++++++++++++++
test/rdoc/test_rdoc_parser_changelog.rb | 56 +++++++++++++++++++++++++++++++++
2 files changed, 91 insertions(+)
[ruby/rdoc] Make each commit entries h3
https://github.com/ruby/rdoc/commit/11eefb2ae9
---
lib/rdoc/parser/changelog.rb | 12 ++++++------
test/rdoc/test_rdoc_parser_changelog.rb | 12 ++++--------
2 files changed, 10 insertions(+), 14 deletions(-)
[ruby/rdoc] Tweak log entry markdown
* add 3 levels to headings
* prefix commit log to labels to make unique IDs
https://github.com/ruby/rdoc/commit/5074c13209
---
lib/rdoc/parser/changelog.rb | 20 +++++++++++++++++-
test/rdoc/test_rdoc_parser_changelog.rb | 36 ++++++++++++++++++++++++++++++++-
2 files changed, 54 insertions(+), 2 deletions(-)
[ruby/rdoc] Shorten commit hashes
https://github.com/ruby/rdoc/commit/5d3e153963
---
lib/rdoc/parser/changelog.rb | 2 +-
test/rdoc/test_rdoc_parser_changelog.rb | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
[ruby/rdoc] Add links to the commits
https://github.com/ruby/rdoc/commit/1821628076
---
lib/rdoc/parser/changelog.rb | 107 +++++++++++++++++++++++++-------
test/rdoc/test_rdoc_parser_changelog.rb | 36 ++++++-----
2 files changed, 107 insertions(+), 36 deletions(-)
[ruby/rdoc] Sort by CommitDate if available
https://github.com/ruby/rdoc/commit/455715e930
---
lib/rdoc/parser/changelog.rb | 11 ++++++---
test/rdoc/test_rdoc_parser_changelog.rb | 40 +++++++++++++++++++++++++++++++++
2 files changed, 48 insertions(+), 3 deletions(-)
[ruby/rdoc] Skip non-date logs by git-log
`RDoc::Parser::ChangeLog` mis-parses ChangeLog generated by
git-log, because of too heuristic `Time.parse`.
For instance, "commit 8187228de0142d3ac7950b7d977c2849e934c637"
results in "8187-08-16", that is, day 228 in the year 8187.
https://github.com/ruby/rdoc/commit/9711e6f6d9
---
lib/rdoc/parser/changelog.rb | 36 ++++++++++++++++++++-------------
test/rdoc/test_rdoc_parser_changelog.rb | 2 ++
2 files changed, 24 insertions(+), 14 deletions(-)
[ruby/rdoc] Support other date formats in git-log
https://github.com/ruby/rdoc/commit/ad8cf37d72
---
lib/rdoc/parser/changelog.rb | 6 +++---
test/rdoc/test_rdoc_parser_changelog.rb | 22 ++++++++++++++++++++++
2 files changed, 25 insertions(+), 3 deletions(-)
[ruby/rdoc] Support iso-strict format in git-log
https://github.com/ruby/rdoc/commit/2a6c22da63
---
lib/rdoc/parser/changelog.rb | 6 +++---
test/rdoc/test_rdoc_parser_changelog.rb | 11 +++++++++++
2 files changed, 14 insertions(+), 3 deletions(-)
[ruby/rdoc] Update Rdoc.css sidebar panel.
Updates css so the sidebar look like a panel instead of looking like chopped edges.
https://github.com/ruby/rdoc/commit/b0098c6d72
---
lib/rdoc/generator/template/darkfish/css/rdoc.css | 1 +
1 file changed, 1 insertion(+)
[ruby/rdoc] Support GFM table
https://github.com/ruby/rdoc/commit/9dc933df16
---
lib/rdoc/markdown.rb | 349 +++++++++++++++++++++++++++++++-
lib/rdoc/markup.rb | 1 +
lib/rdoc/markup/table.rb | 47 +++++
lib/rdoc/markup/to_html.rb | 23 +++
lib/rdoc/markup/to_joined_paragraph.rb | 1 +
lib/rdoc/markup/to_rdoc.rb | 28 +++
lib/rdoc/markup/to_table_of_contents.rb | 1 +
test/rdoc/test_rdoc_markdown.rb | 23 +++
8 files changed, 471 insertions(+), 2 deletions(-)
create mode 100644 lib/rdoc/markup/table.rb
[ruby/rdoc] Add table style
https://github.com/ruby/rdoc/commit/2219c5ae80
---
lib/rdoc/generator/template/darkfish/css/rdoc.css | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
[ruby/rdoc] Fixed CodeFence without blank lines
Currently a fenced code block needs a preceding blank line, it
should not be required, as:
https://github.github.com/gfm/#fenced-code-blocks
> A fenced code block may interrupt a paragraph, and does not
> require a blank line either before or after.
Just recommended:
https://docs.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks
> We recommend placing a blank line before and after code blocks
> to make the raw formatting easier to read.
https://github.com/ruby/rdoc/commit/0e1776caf3
---
lib/rdoc/markdown.rb | 447 +++++++---------------------------------
test/rdoc/test_rdoc_markdown.rb | 36 +++-
2 files changed, 112 insertions(+), 371 deletions(-)
[ruby/rdoc] Allow partial default values to be overridden with
.rdoc_options
https://github.com/ruby/rdoc/commit/e14800891f
---
lib/rdoc/options.rb | 34 +++++++++++++++++++++++++++++++++-
lib/rdoc/rdoc.rb | 7 ++++++-
test/rdoc/test_rdoc_rdoc.rb | 12 ++++++++++++
3 files changed, 51 insertions(+), 2 deletions(-)
[ruby/rdoc] Allow empty .rdoc_options
https://github.com/ruby/rdoc/commit/0c8cb25b50
---
lib/rdoc/rdoc.rb | 2 ++
test/rdoc/test_rdoc_rdoc.rb | 11 +++++++++++
2 files changed, 13 insertions(+)
[ruby/rdoc] Suppress unused variable warning of "text"
https://github.com/ruby/rdoc/commit/3a4120b155
---
lib/rdoc/markdown.rb | 345 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 343 insertions(+), 2 deletions(-)
[ruby/rdoc] Get rid of a trailing space
https://github.com/ruby/rdoc/commit/7b7b91768e
---
lib/rdoc/markdown.rb | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
[ruby/rdoc] Disable other notations in <code> tags
https://github.com/ruby/rdoc/commit/0cd3b55210
---
lib/rdoc/markup/attr_span.rb | 10 ++-
lib/rdoc/markup/attribute_manager.rb | 102 ++++++++++++++++++------
test/rdoc/test_rdoc_markup_attribute_manager.rb | 24 +++++-
test/rdoc/test_rdoc_markup_to_html.rb | 6 ++
4 files changed, 114 insertions(+), 28 deletions(-)
[ruby/rdoc] Treat other tags as word boundaries
https://github.com/ruby/rdoc/commit/8222f85a17
---
lib/rdoc/markup/attribute_manager.rb | 17 +++++++++++++----
test/rdoc/test_rdoc_markup_to_html.rb | 5 +++++
2 files changed, 18 insertions(+), 4 deletions(-)
[ruby/rdoc] Treat emphasis tags as excluding other notations
And exclusive notations don't exclude other exclusive notations.
https://github.com/ruby/rdoc/commit/b8baa9a435
---
lib/rdoc/markup/attr_span.rb | 2 +-
lib/rdoc/markup/attribute_manager.rb | 10 +++++-----
test/rdoc/test_rdoc_markup_attribute_manager.rb | 1 +
3 files changed, 7 insertions(+), 6 deletions(-)
[ruby/rdoc] Clarify that dots in URL are replaced
The dots in all path components from the document root are
replaced with underscores, not only in the basename.
https://github.com/ruby/rdoc/commit/7a3417ea4c
---
test/rdoc/test_rdoc_top_level.rb | 3 +++
1 file changed, 3 insertions(+)
[ruby/rdoc] Links to document texts without "rdoc-ref:" prefix
While links to generated HTML from RDoc file needs to be prefixed
by "rdoc-ref:" currently, in case of explicit references this
seems just redundant.
Also GitHub RDoc support does not work with this prefix.
This patch lets links to such document texts (".rb", ".rdoc" and
".md" now) refer URLs generated by `RDoc::TopLevel#http_url`
without the prefix.
https://github.com/ruby/rdoc/commit/f18b27b69d
---
lib/rdoc/markup/to_html.rb | 4 ++++
test/rdoc/test_rdoc_markup_to_html.rb | 21 +++++++++++++++++++++
2 files changed, 25 insertions(+)
[ruby/rdoc] Use File.open to fix the OS Command Injection
vulnerability in CVE-2021-31799
https://github.com/ruby/rdoc/commit/a7f5d6ab88
---
lib/rdoc/rdoc.rb | 2 +-
test/rdoc/test_rdoc_rdoc.rb | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
[ruby/rdoc] Version 6.3.1
https://github.com/ruby/rdoc/commit/9307f932b7
---
lib/rdoc/version.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
4ae27d8075b2d138d13cb2b112f0ee50934b3017,2670509ebba5ba31a5bf34cf906943075446e005,8e2ac2140d1cd9c163c1556df58c020dc22ab269:
[ruby/net-ftp] Reduce resource cosumption of Net::FTP::TIME_PARSER
Reported by Alexandr Savca as a DoS vulnerability, but Net::FTP is a
client library and the impact of the issue is low, so I have decided
to fix it as a normal issue.
Based on patch by nobu.
https://github.com/ruby/net-ftp/commit/a93af636f8
---
lib/net/ftp.rb | 5 +++--
test/net/ftp/test_ftp.rb | 11 +++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
[ruby/net-ftp] Add test cases
https://github.com/ruby/net-ftp/commit/865232bb2a
---
test/net/ftp/test_ftp.rb | 6 ++++++
1 file changed, 6 insertions(+)
test/net/ftp/test_ftp.rb: reduce the size of a long response
"9" * 999999999 (about 1 GB) was too large for some CI servers.
This commit changes the size to 999999 (about 1 MB).
http://rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20210427T141707Z.fail.html.gz
http://rubyci.s3.amazonaws.com/raspbian10-aarch64/ruby-master/log/20210427T145408Z.fail.html.gz
---
test/net/ftp/test_ftp.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
https://github.com/ruby/tmpdir/commit/c79bc7adf6
|
|
Remove other than alphanumeric and some punctuations considered
filesystem-safe, instead of removing some unsafe chars only.
https://hackerone.com/reports/1131465
|
|
* [ruby/irb] Update help message for next context-mode of 4
While here, fixing tab/space issues in help message, and sync
rdoc for IRB class to match the help message.
https://github.com/ruby/irb/commit/ef8e3901cc
* [ruby/irb] Do not continue line if last expression is an endless range
Fixes [Bug #14824]
https://github.com/ruby/irb/commit/63414f8465
* [ruby/irb] Add a test for not continuing when endless range at eol
https://github.com/ruby/irb/commit/1020ac9c65
* [ruby/irb] Make save-history extension safe for concurrent use
This makes the save-history extension check for modifications to
the history file before saving it. If the history file was modified
after the history was loaded and before it was saved, append only
the new history lines to the history file.
This can result in more lines in the history file than SAVE_HISTORY
allows. However, that will be fixed the next time irb is run and
the history is saved.
Fixes [Bug #13654]
https://github.com/ruby/irb/commit/041ef53845
* Fix errors when XDG_CONFIG_HOME points to non-writable directory
`$HOME/.config` is not writable on CI
because I think tests should not corrupt user's data.
And GitHub Actions CI sets `XDG_CONFIG_HOME`
since `Version: 20210309.1`.
https://github.com/ruby/actions/runs/2130811016?check_suite_focus=true#step:16:301
```
Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb
```
* Try to fix errors in TestIRB::TestHistory too
https://github.com/ruby/actions/runs/2137935523?check_suite_focus=true#step:9:562
```
1) Error:
TestIRB::TestHistory#test_history_concurrent_use:
Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb
/home/runner/work/actions/actions/ruby/lib/fileutils.rb:253:in `mkdir'
/home/runner/work/actions/actions/ruby/lib/fileutils.rb:253:in `fu_mkdir'
/home/runner/work/actions/actions/ruby/lib/fileutils.rb:231:in `block (2 levels) in mkdir_p'
/home/runner/work/actions/actions/ruby/lib/fileutils.rb:229:in `reverse_each'
/home/runner/work/actions/actions/ruby/lib/fileutils.rb:229:in `block in mkdir_p'
/home/runner/work/actions/actions/ruby/lib/fileutils.rb:211:in `each'
/home/runner/work/actions/actions/ruby/lib/fileutils.rb:211:in `mkdir_p'
/home/runner/work/actions/actions/ruby/lib/irb/init.rb:355:in `rc_file_generators'
/home/runner/work/actions/actions/ruby/lib/irb/init.rb:330:in `rc_file'
/home/runner/work/actions/actions/ruby/test/irb/test_history.rb:170:in `block in assert_history'
/home/runner/work/actions/actions/ruby/lib/tmpdir.rb:96:in `mktmpdir'
/home/runner/work/actions/actions/ruby/test/irb/test_history.rb:168:in `assert_history'
/home/runner/work/actions/actions/ruby/test/irb/test_history.rb:133:in `test_history_concurrent_use'
```
* [ruby/irb] Define "measure" command without forced override
https://github.com/ruby/irb/commit/9587ba13b5
* [ruby/irb] Add all lib files automatically
https://github.com/ruby/irb/commit/ecc82336b7
* [ruby/irb] Don't call Ruby 2.4+'s String#pretty_print
https://github.com/ruby/irb/commit/89bcf107be
* [ruby/irb] Implement ls command
https://github.com/ruby/irb/commit/19b6c20604
* [ruby/irb] Add whereami command
https://github.com/ruby/irb/commit/bc822e4aac
* [ruby/irb] Fix column overflow on ls output
https://github.com/ruby/irb/commit/6115754623
* [ruby/irb] Fix step's argument
cols.size was calling Integer#size, which returns 8.
Fixing a bug of https://github.com/ruby/irb/pull/209
https://github.com/ruby/irb/commit/c93ae4be71
* [ruby/irb] Deal with different screen sizes
e.g. http://rubyci.s3.amazonaws.com/centos8/ruby-master/log/20210321T063003Z.fail.html.gz
https://github.com/ruby/irb/commit/ddb3472ba2
* [ruby/irb] Have some right padding
instead of filling out an entire line
https://github.com/ruby/irb/commit/6ac8f45f5f
* Suppress verbose messages
Get rid of warnings in the parallel test.
```
unknown command: "Switch to inspect mode."
```
* [ruby/irb] Change ripper_lex_without_warning to a class method
https://github.com/ruby/irb/commit/d9f8abc17e
* [ruby/irb] Complete require and require_relative
https://github.com/ruby/irb/commit/1c61178b4c
* [ruby/reline] Add Reline.ungetc to control buffer
https://github.com/ruby/reline/commit/43ac03c624
* [ruby/reline] Reline.delete_text removes the current line in multiline
https://github.com/ruby/reline/commit/da90c094a1
* [ruby/reline] Support preposing and postposing for Reline.completion_proc
https://github.com/ruby/reline/commit/1f469de90c
* [ruby/reline] Suppress crashing when completer_{quote,word_break}_characters is empty
https://github.com/ruby/reline/commit/c6f1164942
* [ruby/irb] fix completion test when out-of-place build
* [ruby/irb] Cache completion files to require
https://github.com/ruby/irb/commit/612ebcb311
* [ruby/irb] Always add input method when calling Irb.new in tests
When passes input method as nil to Context.new through Irb.new,
ReidlineInputMethod.new is executed and the global internal state of Reline is
rewritten, therefore other tests are failed in the Ruby repository. This
commit changes to use TestInputMethod.
https://github.com/ruby/irb/commit/010dce9210
* [ruby/irb] Prevent the completion from crashing if rdoc is missing
There are cases where ruby is installed without rdoc and e.g.
lib/irb/cmd/help.rb also handles the LoadError
Here is how to replicate the issue:
```
$ docker run -it alpine:3.13.3 sh
/ # apk add ruby ruby-irb ruby-io-console
/ # irb
irb(main):001:0> Class[TAB][TAB]
```
And you end up with something like:
```
irb(main):001:0> ClassTraceback (most recent call last):
34: from /usr/bin/irb:23:in `<main>'
33: from /usr/bin/irb:23:in `load'
32: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.6/exe/irb:11:in `<top (required)>'
31: from /usr/lib/ruby/2.7.0/irb.rb:400:in `start'
30: from /usr/lib/ruby/2.7.0/irb.rb:471:in `run'
29: from /usr/lib/ruby/2.7.0/irb.rb:471:in `catch'
28: from /usr/lib/ruby/2.7.0/irb.rb:472:in `block in run'
27: from /usr/lib/ruby/2.7.0/irb.rb:537:in `eval_input'
26: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:150:in `each_top_level_statement'
25: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:150:in `catch'
24: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:151:in `block in each_top_level_statement'
23: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:151:in `loop'
22: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:154:in `block (2 levels) in each_top_level_statement'
21: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:182:in `lex'
20: from /usr/lib/ruby/2.7.0/irb.rb:518:in `block in eval_input'
19: from /usr/lib/ruby/2.7.0/irb.rb:704:in `signal_status'
18: from /usr/lib/ruby/2.7.0/irb.rb:519:in `block (2 levels) in eval_input'
17: from /usr/lib/ruby/2.7.0/irb/input-method.rb:294:in `gets'
16: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline'
15: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline'
14: from /usr/lib/ruby/2.7.0/reline.rb:175:in `readmultiline'
13: from /usr/lib/ruby/2.7.0/reline.rb:238:in `inner_readline'
12: from /usr/lib/ruby/2.7.0/reline.rb:238:in `loop'
11: from /usr/lib/ruby/2.7.0/reline.rb:239:in `block in inner_readline'
10: from /usr/lib/ruby/2.7.0/reline.rb:270:in `read_io'
9: from /usr/lib/ruby/2.7.0/reline.rb:270:in `loop'
8: from /usr/lib/ruby/2.7.0/reline.rb:311:in `block in read_io'
7: from /usr/lib/ruby/2.7.0/reline.rb:240:in `block (2 levels) in inner_readline'
6: from /usr/lib/ruby/2.7.0/reline.rb:240:in `each'
5: from /usr/lib/ruby/2.7.0/reline.rb:241:in `block (3 levels) in inner_readline'
4: from /usr/lib/ruby/2.7.0/reline/line_editor.rb:820:in `input_key'
3: from /usr/lib/ruby/2.7.0/reline/line_editor.rb:608:in `complete'
2: from /usr/lib/ruby/2.7.0/irb/completion.rb:269:in `block in <module:InputCompletor>'
1: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- rdoc (LoadError)
```
https://github.com/ruby/irb/commit/a2d299c2ac
* [ruby/irb] Suppress verbose messages in the parallel test
`:VERBOSE` flag needs to be set prior to `IRB::Irb.new`.
https://github.com/ruby/irb/commit/78604682d9
* [ruby/irb] SIGINT should raise Interrupt after IRB session
https://github.com/ruby/irb/commit/5832cfe75b
* [ruby/irb] Colorize `__END__` as keyword
https://github.com/ruby/irb/commit/9b84018311
* [ruby/irb] Add show_source command
https://github.com/ruby/irb/commit/108cb04352
* [ruby/reline] Reset @rest_height when clear screen
https://github.com/ruby/reline/commit/3a7019b0d5
* [ruby/irb] process multi-line pastes as a single entity
this allows pasting leading-dot chained methods correctly:
```ruby
class A
def a; self; end
def b; true; end
end
a = A.new
a
.a
.b
```
will properly return `true` instead of erroring on the `.a` line:
```
irb(main):001:1* class A
irb(main):002:1* def a; self; end
irb(main):003:0> end
irb(main):004:0*
irb(main):005:0> a = A.new
irb(main):006:0*
irb(main):007:0> a
irb(main):008:0> .a
irb(main):009:0> .a
=> #<A:0x00007f984211fbe8>
```
https://github.com/ruby/irb/commit/45aeb52575
* [ruby/irb] Add yamatanooroti test example
https://github.com/ruby/irb/commit/279155fcee
* [ruby/irb] Add test for multiline paste
https://github.com/ruby/irb/commit/e93c9cb54d
* [ruby/irb] Evaluate each toplevel statement
https://github.com/ruby/irb/commit/bc1b1d8bc3
* [ruby/irb] Version 1.3.5
https://github.com/ruby/irb/commit/22e2ddf715
* [ruby/reline] Version 0.2.5
https://github.com/ruby/reline/commit/22ce5651e5
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
Co-authored-by: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Co-authored-by: Aleksandar Ivanov <aivanov92@gmail.com>
Co-authored-by: Koichi Sasada <ko1@atdot.net>
Co-authored-by: Cody Cutrer <cody@instructure.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* [ruby/irb] Suppress error when File::ALT_SEPARATOR is nil
https://github.com/ruby/irb/commit/96accf3b95
* [ruby/irb] Suppress colorize on Windows tests
https://github.com/ruby/irb/commit/5be9354cf9
* [ruby/irb] The command "irb_info" should show RUBY_PLATFORM
https://github.com/ruby/irb/commit/39d1cd874f
* [ruby/irb] Fix inverse separator condition
https://github.com/ruby/irb/commit/33f933196f
* [ruby/reline] Return 1 when char width not found
This fixes ruby/reline#261.
https://github.com/ruby/reline/commit/3cf1213014
* [ruby/reline] Avoid tripping over nil prompt
https://github.com/ruby/reline/commit/d4d9d3e3d4
* [ruby/reline] Move script files for yamatanooroti tests
https://github.com/ruby/reline/commit/03031b885d
* [ruby/reline] Add a test for suppressing crash when dynamic prompt returns empty
ref. https://github.com/ruby/reline/pull/262
https://github.com/ruby/reline/commit/b98bc3c329
* [ruby/reline] We still need support new and legacy behavior.
Revert "Support for change in Windows-specific behavior at eol"
This reverts commit cad4de6ee841b43f3f0e441626f9415c3eda0f82.
https://github.com/ruby/reline/commit/646587fc2c
* [ruby/reline] check ENABLE_VIRTUAL_TERMINAL_PROCESSING flag and switch eof processing
https://github.com/ruby/reline/commit/3535676689
* [ruby/reline] Use UTF-8 only for width calc, rest uses original encoding
I confirmed that libvterm supports only which are UTF-8, US ASCII, UK, and
DEC graphics by reading source code, so can't test this patch by
yamatanoorogi gem through vterm gem for now.
This fixes ruby/irb#190.
https://github.com/ruby/reline/commit/44596c0cc7
* [ruby/reline] fix Reline::Windows.getconsolemode buffer
use double quotes to properly convert the \000 escape sequence.
https://github.com/ruby/reline/commit/236dfe5683
* [ruby/irb] Version 1.3.4
https://github.com/ruby/irb/commit/ab9852ccc5
* [ruby/reline] Version 0.2.4
https://github.com/ruby/reline/commit/462f971bd3
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Co-authored-by: Eamonn Webster <eamonn.webster@gmail.com>
Co-authored-by: Yoshinao Muramatu <ysno@ac.auone-net.jp>
Co-authored-by: cremno <cremno@mail.ru>
|
|
|
|
* [ruby/irb] Stub a screen size for tests
https://github.com/ruby/irb/commit/6663057083
* [ruby/irb] Support GitHub Actions
https://github.com/ruby/irb/commit/8e9e6c4037
* [ruby/irb] Stub a screen size for test_context
http://ci.rvm.jp/logfiles/brlog.trunk-random1.20210119-074232
https://github.com/ruby/irb/commit/ea87592d4a
* [ruby/irb] Use a real screen size for pp by default
https://github.com/ruby/irb/commit/9b9300dec2
* [ruby/irb] Rescue Errno::EINVAL on IRB pp
http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20210119T070008Z.log.html.gz
is caused by:
/export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline/ansi.rb:157:in `winsize': Invalid argument - <STDIN> (Errno::EINVAL)
from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline/ansi.rb:157:in `get_screen_size'
from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline.rb:168:in `get_screen_size'
from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/forwardable.rb:238:in `get_screen_size'
from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/irb/color_printer.rb:7:in `pp'
from -e:1:in `<main>'
https://github.com/ruby/irb/commit/1719514598
* [ruby/irb] Split test files for IRB::Color and IRB::ColorPrinter
https://github.com/ruby/irb/commit/d95e8daab3
* [ruby/irb] Undefine unused constants
https://github.com/ruby/irb/commit/eea9c16804
* [ruby/irb] Remove pp-specific stub from TestColor
because it was for TestColorPrinter
https://github.com/ruby/irb/commit/7569206fd4
* [ruby/irb] Delete a doodle-level memo comment...
https://github.com/ruby/irb/commit/fc3e1d9e0c
* [ruby/irb] Indent correctly with keyword "for" and "in"
https://github.com/ruby/irb/commit/47c83ea724
* [ruby/irb] Indent correctly with method calling with receiver
https://github.com/ruby/irb/commit/e7c68e74a0
* [ruby/irb] add `IRB::FileInputMethod.open` to ensure closing associated File
* tweak some methods not to raise exception after `#close`
* use it in `IRB::IrbLoader#{source_file,load_file}
https://github.com/ruby/irb/commit/ec2947acbd
* [ruby/irb] use `RubyLex::TerminateLineInput` appropriately [Bug #17564]
* using the appropriciate exception instead of `break` so that the session
can be continue after the `irb_source` and `irb_load` commands
* suppress extra new line due to one more `#prompt` call
https://github.com/ruby/irb/commit/bdefaa7cfd
* [ruby/irb] specify the `VERBOSE` to `false` and fix tests to fit
https://github.com/ruby/irb/commit/502c590925
* In test, need to pass a context to IRB::WorkSpace.new explicitly
* Fix absolute path predicate on Windows
A path starts with '/' is not an absolute path on Windows, because
of drive letter or UNC.
* [ruby/irb] follow up the actual line number
https://github.com/ruby/irb/commit/7aed8fe3b1
* [ruby/irb] Add info.rb to gemspec
https://github.com/ruby/irb/commit/adbba19adf
* [ruby/irb] Allow "measure" command to take block
https://github.com/ruby/irb/commit/20f1ca23e9
* [ruby/irb] Enable to reassign a new block with "measure" command
https://github.com/ruby/irb/commit/b444573aa2
* [ruby/reline] Cache pasting state in processing a key
Because it's too slow.
The rendering time in IRB has been reduced as follows:
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.22sec -> 0.14sec
https://github.com/ruby/reline/commit/b8b3dd52c0
* [ruby/reline] Initialize uninitialized variables in tests
https://github.com/ruby/reline/commit/25af4bb64b
* [ruby/reline] Remove an unused variable
https://github.com/ruby/reline/commit/123ea51166
* [ruby/reline] Scroll down when ^C is pressed
https://github.com/ruby/reline/commit/6877a7e3f5
* [ruby/reline] Show all lines higher than the screen when finished
On Unix-like OSes, logs prior to the screen are not editable. When the code
is higher than the screen, the code is only shown on the screen until input
is finished, but when it is finished, all lines are outputted.
https://github.com/ruby/reline/commit/8cd9132a39
* [ruby/reline] Handle past logs correctly when the code is higher than the screen
https://github.com/ruby/reline/commit/f197139b4a
* [ruby/reline] Update cursor info by inserting newline even if not in pasting
https://github.com/ruby/reline/commit/92d314f514
* [ruby/reline] Move cursor just after the last line when finished
https://github.com/ruby/reline/commit/ba06e4c480
* [ruby/reline] The vi_histedit supports multiline
This closes ruby/reline#253.
https://github.com/ruby/reline/commit/f131f86d71
* [ruby/reline] Autowrap correctly when inserting chars in the middle of a line
https://github.com/ruby/reline/commit/ebaf37255f
* [ruby/reline] Terminate correctly in the middle of lines higher than the screen
https://github.com/ruby/reline/commit/e1d9240ada
* [ruby/irb] Version 1.3.3
https://github.com/ruby/irb/commit/4c87035b7c
* [ruby/reline] Version 0.2.3
https://github.com/ruby/reline/commit/b26c7d60c8
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Co-authored-by: Nobuhiro IMAI <nov@yo.rim.or.jp>
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Co-authored-by: ima1zumi <mariimaizumi5@gmail.com>
|
|
|
|
|
|
|
|
* Get rid of inconsistent dll linkages against vcpkg readline
* [ruby/irb] Enhance colored inspect output
https://github.com/ruby/irb/commit/dffcdb5269
* [ruby/irb] Add color_printer.rb to gemspec
https://github.com/ruby/irb/commit/b4df0fd8b2
* [ruby/irb] Fix failing tests
https://github.com/ruby/irb/commit/7723ade899
* irb: add more syntax errors colorizing support (#3967)
* [ruby/irb] Do not colorize partially-correct inspect
This is to prevent a yellow-mixed output for ActiveSupport::TimeWithZone.
Follows up https://github.com/ruby/irb/pull/159 and https://github.com/ruby/ruby/pull/3967.
https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f6a2825
* [ruby/irb] Remove unnecessary ignore_error in dispatch_seq
Just forgotten in https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f6a2825
https://github.com/ruby/irb/commit/e42e548793
* Increase timeout for reline with --jit-wait
for failures like:
http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-130509
http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-165132
http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201228-015519
* [ruby/irb] Stringify when a non-object is passed to PP#text
If a nested object is passed to #pp, it may be sometimes passed to the #text
method as an object without being stringified.
This is fixed on the Ruby main repository;
https://github.com/ruby/ruby/commit/433a3be86a811de0b4adbb92e054ee3a6fc6b4d8
but it was a bug of Ripper so still needs this workaround for using irb
as a gem on Ruby 3.0.0 or earlier.
Co-authored-by: k0kubun <takashikkbn@gmail.com>
https://github.com/ruby/irb/commit/8d13df22ee
* [ruby/irb] Newline in oneliner def doesn't reset indent
This closes ruby/irb#132.
https://github.com/ruby/irb/commit/43456dcf5e
* [ruby/irb] Escape invalid byte sequence in Exception
This fixes ruby/irb#141.
https://github.com/ruby/irb/commit/0815317d42
* [ruby/irb] Handle indentations related to keyword "do" correctly
This fixes ruby/irb#158.
https://github.com/ruby/irb/commit/964643400b
* [ruby/irb] Heredoc may contain multiple newlines in a single token
Use the start token as the indentation criteria so that it works properly in
heredoc.
ref. https://github.com/ruby/reline/pull/242
https://github.com/ruby/irb/commit/9704808dfd
* [ruby/irb] Use Ripper::Lexer#scan to take broken tokens
ref. https://github.com/ruby/reline/pull/242
https://github.com/ruby/irb/commit/54f90cb6c9
* [ruby/irb] Use error tokens if there are no correct tokens in the same place
For example, the broken code "%www" will result in only one error token.
https://github.com/ruby/irb/commit/9fa39a7cf3
* [ruby/irb] Ensure to restore $VERBOSE
https://github.com/ruby/irb/commit/cef474a76a
* 600x larger timeout for Reline
I didn't notice it's msec. 2.5s is too short.
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3311385
* [ruby/irb] fix typo in `IRB::Irb#convert_invalid_byte_sequence`
https://github.com/ruby/irb/commit/d09d3c3d68
* [ruby/irb] do not escape a predicate method for doc namespace
* Fixes #88
https://github.com/ruby/irb/commit/d431a30af4
* [ruby/irb] refactoring an error handling in `IRB::Inspector`
* moved rescue clause to `#inspect_value` to catch all failures in inspectors
* test with all (currently five kind of) inspect modes
- tweaked the input due to only `Marshal` can inspect(dump) a `BasicObject`
https://github.com/ruby/irb/commit/9d112fab8e
* [ruby/irb] Use Exception#full_message to show backtrace in the correct order
[Bug #17466]
https://github.com/ruby/irb/commit/1c76845cca
* [ruby/irb] Fix BACK_TRACE_LIMIT logic
https://github.com/ruby/irb/commit/30dc5d43fe
* irb: Drop lines from backtrace for tests in Ruby repository
* [ruby/reline] Update cursor correctly when just cursor moving
This fixes ruby/reline#236 and ruby/reline#239.
https://github.com/ruby/reline/commit/3e3c89d00b
* [ruby/reline] Correct var names in Reline were different from vi-*-mode-string
https://github.com/ruby/reline/commit/8255fc93b9
* [ruby/reline] Remove debug print
https://github.com/ruby/reline/commit/d7fbaedc6a
* [ruby/reline] Suppress crashing when auto_indent_proc returns broken indent info
Co-authored-by: Juanito Fatas <me@juanitofatas.com>
https://github.com/ruby/reline/commit/7c24276275
* [ruby/reline] Suppress crashing when dynamic_prompt_proc returns a broken prompt list
Co-authored-by: Juanito Fatas <me@juanitofatas.com>
https://github.com/ruby/reline/commit/558f7be168
* [ruby/reline] Suppress auto indent for adding newlines in pasting
Co-authored-by: Juanito Fatas <me@juanitofatas.com>
https://github.com/ruby/reline/commit/074bb017a7
* [ruby/reline] Add acknowledgments and license for rb-readline
https://github.com/ruby/reline/commit/19df59b916
* [ruby/irb] Fix comment, irb gem supports 2.5.0 or older
https://github.com/ruby/irb/commit/36118015ba
* should use `assert_include` here.
Random ordering test can introduce antoher candidate so it should be
`assert_include`.
* [ruby/irb] Add missing require
This is useful if you want to use IRB::ColorPrinter as a library like:
```
begin
require 'irb/color_printer'
IRB::ColorPrinter.pp(obj)
rescue LoadError
pp(obj)
end
```
https://github.com/ruby/irb/commit/f8461691c7
* [ruby/irb] Make IRB::ColorPrinter.pp compatible with PP.pp
The incompatible interface is not helpful, again if you want to use it
as a standalone library, falling it back to PP.
Original PP.pp also ends with `out << "\n"`.
https://github.com/ruby/irb/commit/4c74c7d84c
* Suppress constant redefinition warnings
* Fix the failing test with XDG_CONFIG_HOME
* [ruby/irb] Version 1.3.1
https://github.com/ruby/irb/commit/c230d08911
* [ruby/reline] Handle ed_search_{prev,next}_history in multiline correctly
The current line was being handled incorrectly when displaying the hit
history, so it has been fixed to be correct.
https://github.com/ruby/reline/commit/a3df4343b3
* [ruby/reline] Move the cursor correctly when deleting at eol
This fixes ruby/reline#246.
https://github.com/ruby/reline/commit/07a73ba601
* [ruby/reline] Version 0.2.1
https://github.com/ruby/reline/commit/a3b3c6ee60
* [ruby/reline] Initialize a variable just in case
https://github.com/ruby/reline/commit/29b10f6e98
* [ruby/reline] Tests with yamatanooroti don't need chdir
Because of chdir, log files ware created in temporary directries on Windows.
https://github.com/ruby/reline/commit/200b469a68
* [ruby/reline] Windows needs more times to wait rendering
https://github.com/ruby/reline/commit/53ff2b09c7
* [ruby/reline] Support for change in Windows-specific behavior at eol
The behavior of automatically moving the cursor to the next line when
displaying a char at the eol on Windows suddenly disappeared.
https://github.com/ruby/reline/commit/cad4de6ee8
* [ruby/reline] Reline::Windows.erase_after_cursor erases attributes too
https://github.com/ruby/reline/commit/68b961dfc7
* [ruby/irb] [ruby/irb] [ruby/reline] Version 0.2.2
https://github.com/ruby/reline/commit/dfb710946f
https://github.com/ruby/irb/commit/1a1cdf9628
https://github.com/ruby/irb/commit/fe99faf8bd
* [ruby/irb] handle `__ENCODING__` as a keyword as well
https://github.com/ruby/irb/commit/a6a33d908f
* [ruby/irb] handle repeated exception separately
https://github.com/ruby/irb/commit/fcf6b34bc5
* [ruby/irb] skip a failling test on TruffleRuby
* due to the difference of backtrace pointed out by @aycabta
https://github.com/ruby/irb/commit/5e00a0ae61
* [ruby/irb] Version 1.3.2
https://github.com/ruby/irb/commit/a7699026cc
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Co-authored-by: Nobuhiro IMAI <nov@yo.rim.or.jp>
Co-authored-by: Koichi Sasada <ko1@atdot.net>
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
|
|
|
|
|
|
|
|
https://github.com/ruby/reline/commit/064664c8f9
|
|
https://github.com/ruby/irb/commit/ec83280e66
|
|
This closes ruby/reline#233.
https://github.com/ruby/reline/commit/4c3f2e2eae
|
|
This closes ruby/reline#228.
https://github.com/ruby/reline/commit/8205fa0b00
|
|
This closes ruby/reline#229.
https://github.com/ruby/reline/commit/3f0ae689c4
|
|
https://github.com/ruby/reline/commit/922d087e7a
|
|
https://github.com/ruby/reline/commit/bfeda8a79b
|
|
https://github.com/ruby/irb/commit/cc66b5573e
|
|
This fixes --inf-ruby-mode.
https://github.com/ruby/irb/commit/0e4a818955
|
|
https://github.com/ruby/irb/commit/8b83fbef69
|
|
Before:
```
$ ri sharing_detection=
= .sharing_detection=
(from ruby core)
=== Implementation from PP
------------------------------------------------------------------------
sharing_detection=(b)
------------------------------------------------------------------------
Returns the sharing detection flag as a boolean value. It is false by
default.
```
After:
```
$ ri sharing_detection=
= .sharing_detection=
(from ruby core)
=== Implementation from PP
------------------------------------------------------------------------
sharing_detection=(b)
------------------------------------------------------------------------
Sets the sharing detection flag to b.
```
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3982
|