Граф коммитов

12503 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA 8f6cf72e66
Skip to warn like 'bigdecimal/util' feature. 2023-12-08 15:57:08 +09:00
David Rodríguez 64e985333f Improve bundled gems warnings for subfeatures
Before, when requiring "bigdecimal/math" in a Bundler context:

> /Users/deivid/.asdf/installs/ruby/3.3.0-dev/lib/ruby/3.3.0+0/bigdecimal/math.rb:2: warning: bigdecimal was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec.

After:

> foo.rb:1: warning: bigdecimal/math is found in bigdecimal, which will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec.
2023-12-08 15:55:15 +09:00
David Rodríguez a530dfef2b Improve bundled gem warnings
Before, when requiring "bigdecimal" in a Bundler context:

> foo.rb:1: warning: bigdecimal which will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec.

After:

> foo.rb:1: warning: bigdecimal was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec.
2023-12-08 15:55:15 +09:00
David Rodríguez d61af5c49a The SINCE and WARNED hashes take gem names, not features 2023-12-08 15:55:15 +09:00
Samuel Giddins 4817166e54 [rubygems/rubygems] Extract generate_index command to rubygems-generate_index gem
So generate_index can be implemented with dependencies, such as the compact index

Took this approach from feedback in https://github.com/rubygems/rubygems/pull/6853

Running `gem generate_index` by default will use an installed rubygems-generate_index, or install and then use the command from the gem

Apply suggestions from code review

https://github.com/rubygems/rubygems/commit/fc1cb9bc9e

Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
2023-12-08 06:09:51 +00:00
Martin Emde 0166d56f2b [rubygems/rubygems] Don't memoize in NameTuple lock_name
The result of this is already memoized and no other NameTuple
methods memoize.

https://github.com/rubygems/rubygems/commit/b7cce0c64a
2023-12-08 05:51:03 +00:00
Yuji Yaginuma 8bb90f4d77 [rubygems/rubygems] Use `Minitest::TestTask` in a template file for `minitest`
`minitest` has introduced a rake task for running test on 5.16.0.
https://github.com/minitest/minitest/blob/master/History.rdoc#5160--2022-06-14-

This has some tasks related to running tests and it's useful for
`minitest` user I think.
https://github.com/minitest/minitest#rake-tasks-

This PR changed to use the task in a template file for `minitest`

https://github.com/rubygems/rubygems/commit/7a86d13062
2023-12-08 03:25:43 +00:00
David Rodríguez 2755cb1b2f [rubygems/rubygems] Use modern hashes consistently
https://github.com/rubygems/rubygems/commit/bb66253f2c
2023-12-07 22:29:33 +00:00
Stan Lo 5809b75019 [ruby/irb] Debugging command warning should not be specific to the
`debug` command
(https://github.com/ruby/irb/pull/806)

https://github.com/ruby/irb/commit/b7b57311cc
2023-12-07 16:09:15 +00:00
Kevin Newton 10bc0bd4ab [ruby/prism] Remove warnings check from parse_success? method
https://github.com/ruby/prism/commit/e30a241fb3
2023-12-07 14:39:11 +00:00
Hiroshi SHIBATA a41d6c825c [ruby/open-uri] Bump up 0.4.1
https://github.com/ruby/open-uri/commit/d72508a7f4
2023-12-07 07:22:20 +00:00
Andrew Kane 41c00bc97e [ruby/open-uri] Set default for max_redirects and add exception class
https://github.com/ruby/open-uri/commit/dcdcb885cc
2023-12-07 07:00:54 +00:00
Andrew Kane d97479f9c9 [ruby/open-uri] Add :max_redirects option
https://github.com/ruby/open-uri/commit/7fd5ea09a7
2023-12-07 07:00:53 +00:00
Ellen Marie Dash 7d32830b8c [rubygems/rubygems] Make --build-root disable auto-user-install.
https://github.com/rubygems/rubygems/commit/6a06b0763f
2023-12-07 13:56:23 +09:00
David Rodríguez 33bd956257 [rubygems/rubygems] Better approach to falling back to user installation when GEM_HOME not writable
https://github.com/rubygems/rubygems/commit/f67bced16b
2023-12-07 13:56:22 +09:00
Vít Ondruch aabf2ce181 [rubygems/rubygems] Use globals variables for standard input/output
Replace use of `STDIN`, `STDOUT` and `STDERR` constants by their
`$stdin`, `$stdout` and `$stderr` global variable equivalents.

This enables easier testing via standard means, such as `assert_output`
for minitest or `expect { print 'foo' }.to output.to_stdout` for RSpec
test suites.

https://github.com/rubygems/rubygems/commit/a0a6fc1b76
2023-12-07 13:55:31 +09:00
Hiroshi SHIBATA 214f6d6598 Move replace_require into bundled_gems.rb 2023-12-07 11:37:08 +09:00
Kevin Newton fe6ee5e921 [ruby/prism] Move flag position consistently to front
https://github.com/ruby/prism/commit/6e69a81737
2023-12-06 20:50:02 +00:00
Eric Mueller 9336bbb0b2 [rubygems/rubygems] Bundler::Fetcher uses Bundler::CIDetector
Additionally, the result is memoized, as it's used twice in a row.

This change does result in a net behavioral diff, as the list of ENVs
being checked has been updated (now includes buildkite, taskcluster,
cirrus, dsari, and drops buildbox and snap)

https://github.com/rubygems/rubygems/commit/3fb445a5a1
2023-12-06 20:05:25 +00:00
Eric Mueller 6fd3b358ff [rubygems/rubygems] Duplicate Gem::CIDetector into bundler
Because bundler needs to support older versions of rubygems, we can't
actually rely on Gem::CIDetector (yet - in a year or so they might be
able to consolidate, if they don't change futher). So we're copying it
into the Bundler:: namespace, and enforcing that they stay completely in
sync with a test. No other tests are needed, since Gem::CIDetector is
already tested, and this is and will remain identical.

https://github.com/rubygems/rubygems/commit/abc67f0da1
2023-12-06 20:05:25 +00:00
Eric Mueller a6c912a80d [rubygems/rubygems] Gem::UpdateSuggestion uses Gem::CIDetector
https://github.com/rubygems/rubygems/commit/e5b0458342
2023-12-06 20:05:24 +00:00
Eric Mueller b1b78c4f9f [rubygems/rubygems] Introduce the Gem::CIDetector
This is based on the list in Gem::UpdateSuggestion and Bundler::Fetcher;
these have similar purposes (determining whether/what CI we're executing
in), and can benefit from being combined and updated (they're both
slightly out of date).

Noteable changes:
* We'll consider ourselves to be on a CI in more cases - if CI_NAME or
  TASKCLUSTER_ROOT_URL are set specifically, since those represent two
  cases that were either overlooked or are no longer covered by the
  existing implementation. (Or possibly TaskCluster still does provide
  RUN_ID, but failed to document it)
* We will notice/track a few additional services in ci_strings (cirrus,
  dsari, taskcluster), stop tracking 'snap' (they went under in 2017),
  and update buildbox to buildkite (they've been called that for 8
  years, and the BUILDBOX envs have been deprecated for 3).
* We'll also sort/uniq/downcase the values (all of which only matter
  because of the special case of CI_NAME).

https://github.com/rubygems/rubygems/commit/60652b942f
2023-12-06 20:05:23 +00:00
Hiroshi SHIBATA d411d8f5fe [rubygems/rubygems] Try to load Gem::BUNDLED_GEMS on Bundler
`bundle exec ruby foo.rb` ignore to load gem_prelude.rb. Because warnings feature
  is not working with `bundle exec ruby`.

https://github.com/rubygems/rubygems/commit/a0d4ed92a7
2023-12-06 10:10:44 +00:00
Nobuyoshi Nakada e03e872eea [ruby/rdoc] Only word-ending colon separates new definition
When followed by non-space characters, rather it looks like a URL or a
path name on Windows.

https://github.com/ruby/rdoc/commit/72c6560773
2023-12-06 09:35:44 +00:00
Nobuyoshi Nakada 379f06797d [ruby/rdoc] Needs more backslash to match escaping backslashs
https://github.com/ruby/rdoc/commit/1904e9076d
2023-12-06 09:35:43 +00:00
Martin Emde d9a1bb4b09 [rubygems/rubygems] Use String#unpack1 available since ruby 3.0
https://github.com/rubygems/rubygems/commit/46258d6cb4
2023-12-06 02:45:37 +00:00
Martin Emde 5f0ea3f590 [rubygems/rubygems] Converts Bundler lockfile checksum validation to opt-in only
Looks for the CHECKSUMS section in the lockfile, activating the feature
only if the section exists. Without a CHECKSUMS section, Bundler will
continue as normal, validating checksums when gems are installed while
checksums from the compact index are present.

https://github.com/rubygems/rubygems/commit/2353cc93a4
2023-12-05 21:09:53 +00:00
Schneems c175e265da [ruby/syntax_suggest] Remove duplicate error messages
Before:

```
Expected a newline or semicolon after the statement
Cannot parse the expression
Expected a newline or semicolon after the statement
Cannot parse the expression

   1  describe "webmock tests" do
  22    it "body" do
  27      query = Cutlass::FunctionQuery.new(
> 28        port: port
> 29        body: body
  30      ).call
  34    end
  35  end
```

After:

```
Expected a newline or semicolon after the statement
Cannot parse the expression

   1  describe "webmock tests" do
  22    it "body" do
  27      query = Cutlass::FunctionQuery.new(
> 28        port: port
> 29        body: body
  30      ).call
  34    end
  35  end
```

https://github.com/ruby/syntax_suggest/commit/becf097e5e
2023-12-05 17:51:29 +00:00
Schneems 6d39d6d214 [ruby/syntax_suggest] Update docs, clean up PR
Removes or updates mentions of Ripper

https://github.com/ruby/syntax_suggest/commit/08aaa3f50a
2023-12-05 17:51:29 +00:00
Schneems 62c9695911 [ruby/syntax_suggest] Support lexing with Prism
https://github.com/ruby/syntax_suggest/commit/7f4176a914
2023-12-05 17:51:28 +00:00
Schneems cce29750d7 [ruby/syntax_suggest] Initial support for the prism parser
Prism will be the parser in Ruby 3.3. We need to support 3.0+ so we will have to "dual boot" both parsers.

Todo:

- LexAll to support Prism lex output
- Add tests that exercise both Ripper and prism codepaths on CI
- Handle https://github.com/ruby/prism/issues/1972 in `ripper_errors.rb`
- Update docs to not mention Ripper explicitly
- Consider different/cleaner APIs for separating out Ripper and Prism

https://github.com/ruby/syntax_suggest/commit/a7d6991cc4
2023-12-05 17:51:27 +00:00
Stan Lo b29ed63883 [ruby/irb] Bump version to v1.10.1
(https://github.com/ruby/irb/pull/801)

https://github.com/ruby/irb/commit/a1e431bd83
2023-12-05 16:34:19 +00:00
Stan Lo f55746a93d [ruby/irb] Disable pager when TERM is not set too
(https://github.com/ruby/irb/pull/802)

https://github.com/ruby/irb/commit/173980974b
2023-12-05 16:32:13 +00:00
Stan Lo ef387e6730 [ruby/irb] Pager should be disabled when TERM=dumb
(https://github.com/ruby/irb/pull/800)

For apps/libs that test against IRB, it's recommended to set `TERM=dumb`
so they get minimum disruption from Reline's interactive-focus features.

Therefore, we should follow the convention to disable pager when `TERM=dumb`.

https://github.com/ruby/irb/commit/8a3002a39e
2023-12-05 16:03:06 +00:00
Nobuyoshi Nakada 113f5d7fd7 [ruby/rdoc] Allow any single-word token upto 2 before C method implementation
Previously only unknown word `intern` is allowed between a single-word
token before a C method.  Now any single-word token, such as `inline`
which is used for `ArithmeticSequence` in enumerator.c, is allowed
instead.

https://github.com/ruby/rdoc/commit/3a214c1dd1
2023-12-05 08:48:19 +00:00
Nobuyoshi Nakada c0baa3783f [ruby/rdoc] Reduce matched substring allocations
https://github.com/ruby/rdoc/commit/aaed688a97
2023-12-05 08:48:18 +00:00
Hiroshi SHIBATA d691b1a141 [ruby/rdoc] Bump up 6.6.1
https://github.com/ruby/rdoc/commit/7cf353a696
2023-12-05 07:37:08 +00:00
Hiroshi SHIBATA f19de1289b [ruby/tempfile] Bump up 0.2.1
https://github.com/ruby/tempfile/commit/1450bb4f1c
2023-12-05 07:02:17 +00:00
Akshay Birajdar 494e2e4bfb [ruby/tempfile] Alias #to_s to #inspect
https://github.com/ruby/tempfile/commit/e515889412
2023-12-05 06:43:42 +00:00
Hiroshi SHIBATA e7cc791838 [ruby/cgi] Bump up 0.4.1
https://github.com/ruby/cgi/commit/929e6264b5
2023-12-05 06:38:55 +00:00
Toshimaru 56ccad060d [ruby/rdoc] Early return when `token_stream` is `nil`
https://github.com/ruby/rdoc/commit/04f75d8516

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-12-05 06:21:52 +00:00
toshimaru cda431f538 [ruby/rdoc] fix: fix `NoMethodError` when `token_stream` is nil
The change in #1055 might be a breaking change.
So, just simply wrap `token_stream` with `Array`

https://github.com/ruby/rdoc/commit/d8c19d7fa1

Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
2023-12-05 06:21:51 +00:00
David Rodríguez 16669cd6ad [rubygems/rubygems] Fix crash when duplicating a dev dependency in Gemfile & gemspec
https://github.com/rubygems/rubygems/commit/e78c0a4a48
2023-12-05 14:28:42 +09:00
David Rodríguez 7ab877761e [rubygems/rubygems] Instead of checking writability, try to write
Checking writability is prone to errors. For example:

$ mkdir -p foo/bar
$ chmod -w foo
$ touch foo/bar/baz # succeeds even if foo is not writable

https://github.com/rubygems/rubygems/commit/6056138b6a
2023-12-05 14:28:41 +09:00
Mau Magnaguagno 57178a9720 [rubygems/rubygems] Prefer String#split with block in Gem::YAMLSerializer#load
String#split supports a block since Ruby 2.6, avoiding intermediate array.

https://github.com/rubygems/rubygems/commit/69cdf9e9d4
2023-12-05 14:28:39 +09:00
Mau Magnaguagno 5f789350dc [rubygems/rubygems] Prefer String#split with block in Bundler::CompactIndexClient::Cache#versions
String#split supports a block since Ruby 2.6, avoiding intermediate array.

https://github.com/rubygems/rubygems/commit/4e864a8f2e
2023-12-05 14:28:39 +09:00
Mau Magnaguagno a3cd7b3e27 [rubygems/rubygems] Prefer String#split with block in Bundler::YAMLSerializer#load
String#split supports a block since Ruby 2.6, avoiding intermediate array.

https://github.com/rubygems/rubygems/commit/5b324969cd
2023-12-05 14:28:38 +09:00
Schneems 5a2d70ef73 [ruby/syntax_suggest] Bump minimum Ruby version & update standardrb
https://github.com/ruby/syntax_suggest/commit/73753518e9
2023-12-04 22:29:44 +00:00
Schneems 13482ab1e6 [ruby/syntax_suggest] Update standardrb to Ruby 3.0 standards
https://github.com/ruby/syntax_suggest/commit/2771dcabe0
2023-12-04 22:18:40 +00:00
Kevin Newton d35aa58b2f [ruby/prism] Fix up docs for lex_compat
https://github.com/ruby/prism/commit/9131e84060
2023-12-04 17:15:19 +00:00
Kevin Newton ea9f89eeb6 [ruby/prism] Ripper compat docs update
https://github.com/ruby/prism/commit/5f70b32b02
2023-12-04 17:00:14 +00:00
Stan Lo 52eabf2e32 [ruby/irb] Bump version to v1.10.0
(https://github.com/ruby/irb/pull/798)

https://github.com/ruby/irb/commit/4acc9b8d6c
2023-12-03 17:06:41 +00:00
jinroq d4b1f56f50
[Fix] Support when nil is assigned to variable `name` (#9105)
* Add `!name.nil?` to if condition
2023-12-02 13:17:53 -08:00
Nobuyoshi Nakada c9c1670f7e [ruby/rdoc] Markup punctuations need to be separated with a space
https://github.com/ruby/rdoc/commit/83f0149fc1
2023-12-02 12:40:12 +00:00
Gary Tou 4ee1f0fb5d [ruby/irb] Implement `history` command
(https://github.com/ruby/irb/pull/761)

* Implement `history` command

Lists IRB input history with indices. Also aliased as `hist`.

* Add tests for `history` command

* Address feedback: `puts` with multiple arguments instead of `join`ing

* Address feedback: Handle nil from splitting an empty input string

* Refactor line truncation

* Add `-g` grep option to `history` command

* Add `history` command to README

* Remove unused `*args` parameter

* Allow spaces to be included in grep

* Allow `/` to be included in grep regex

* Handle `input` being an empty string

* Exclude "#{index}: " from matching the grep regex

* Add new line after joining

https://github.com/ruby/irb/commit/3f9eacbfa9
2023-12-02 04:32:04 +00:00
Kevin Newton 492c82cb41 [ruby/prism] Prism.parse_success?(source)
A lot of tools use Ripper/RubyVM::AbstractSyntaxTree to determine
if a source is valid. These tools both create an AST instead of
providing an API that will return a boolean only.

This new API only creates the C structs, but doesn't bother
reifying them into Ruby/the serialization API. Instead it only
returns true/false, which is significantly more efficient.

https://github.com/ruby/prism/commit/7014740118
2023-12-01 20:53:34 +00:00
Samuel Giddins 0ed55bf097 [rubygems/rubygems] Reduce array allocations when loading definition
The same array was being re-created in a loop (as well as the `generic_local_platform`), which is avoidable by hoisting it to a frozen array created once

https://github.com/rubygems/rubygems/commit/009a3c6d0d
2023-12-01 19:50:03 +00:00
Kevin Newton ec83bd7356 [ruby/prism] Provide heredoc? queries
https://github.com/ruby/prism/commit/e148e8fe6a
2023-12-01 18:46:52 +00:00
hogelog ef466ac931 [ruby/irb] Scrub past history input before split
(https://github.com/ruby/irb/pull/795)

* Scrub past history input before split

* Don't rewrite ENV["LANG"]

https://github.com/ruby/irb/commit/0f344f66d9
2023-12-01 18:04:03 +00:00
Eric Mueller 73440e1ef2 [rubygems/rubygems] Many major_deprecations supply :removed_message
Generally the removed message is very similar, but often it needs to
specify that the feature has "been removed" instead of "will be
removed", or "been deprecated". And a few chunks of text needed more
substantial updates. And a number of them seemed to have been carefully
crafted to make sense in either context, so I left those alone.

https://github.com/rubygems/rubygems/commit/8d42cf9104
2023-12-01 17:52:38 +00:00
Eric Mueller 079dfa1812 [rubygems/rubygems] major_deprecation accepts :removed_message
If supplied, it uses that in place of the message for the case where the
deprecation version is already past.

https://github.com/rubygems/rubygems/commit/1deb73663c
2023-12-01 17:52:37 +00:00
Kevin Newton cdb74d74af [ruby/prism] Change numbered parameters
Previously numbered parameters were a field on blocks and lambdas
that indicated the maximum number of numbered parameters in either
the block or lambda, respectively. However they also had a
parameters field that would always be nil in these cases.

This changes it so that we introduce a NumberedParametersNode that
goes in place of parameters, which has a single uint8_t maximum
field on it. That field contains the maximum numbered parameter in
either the block or lambda.

As a part of the PR, I'm introducing a new UInt8Field type that
can be used on nodes, which is just to make it a little more
explicit what the maximum values can be (the maximum is actually 9,
since it only goes up to _9). Plus we can do a couple of nice
things in serialization like just read a single byte.

https://github.com/ruby/prism/commit/2d87303903
2023-12-01 12:03:09 -05:00
Martin Emde cbe57caa24 [ruby/prism] Fix comments after HEREDOCs again.
The problem was deeper than just looking back a single token.
You can push the heredoc_end token way back into the list.
We need to save the last location of a heredoc end to see if
it's the last token in the file.

Fixes https://github.com/ruby/prism/pull/1954

https://github.com/ruby/prism/commit/91dfd4eecd
2023-12-01 15:17:20 +00:00
Kevin Newton abb1fe2868 [PRISM] Consolidate prism encoding files 2023-11-30 21:37:56 -05:00
Kevin Newton 10d3897e13 [PRISM] Big5 encodings 2023-11-30 21:37:56 -05:00
Kevin Newton 7b5bb978fb [PRISM] Alias CP51932 to EUC-JP 2023-11-30 21:37:56 -05:00
Kevin Newton 9ba92327f2 [PRISM] Consolidate SJIS encodings 2023-11-30 21:37:56 -05:00
Ellen Marie Dash 7008d97b76 [rubygems/rubygems] Only show "Defaulting to user installation" message when it matters.
https://github.com/rubygems/rubygems/commit/61b0947225
2023-11-30 19:58:40 +00:00
Stan Lo f193f96d31 [ruby/irb] Page evaluation result's output
(https://github.com/ruby/irb/pull/784)

* Page evaluation result's output

This will make it easier to work with long output that exceeds the terminal's height.

* Use consistent TERM in rendering tests

This makes sure we get consistent result on all platforms.

https://github.com/ruby/irb/commit/4fedce93d3
2023-11-30 15:22:22 +00:00
Martin Emde aac8be8034 [ruby/prism] Fix lex_compat for `<<HEREDOC # comment` at EOF
Fixes https://github.com/ruby/prism/pull/1874

https://github.com/ruby/prism/commit/304dd78dd2
2023-11-30 14:10:04 +00:00
Samuel Giddins 62e2e1da92 [rubygems/rubygems] Allow auto-install to install missing git gems
Currently, auto-install with git gems fails, when
it would succeed with a rubygems-source gem

Fix the issue by doing the same fallback for git errors as we do for
missing gems, the git errors should only bubble up in these cases when
the gem is not installed, meaning we want to go through the install flow
(and any persistent errors will be raised through there)

https://github.com/rubygems/rubygems/commit/e25a339f7a
2023-11-30 03:41:15 +00:00
Hiroshi SHIBATA f2bb539459
Manually sync with https://github.com/ruby/open3/pull/22 and related PRs 2023-11-30 12:21:25 +09:00
Samuel Giddins 2927c28095 [rubygems/rubygems] Avoid re-compiling static regexp in a loop
Pathname::SEPARATOR_PAT is a constant and can safely be interpolated once, avoiding creating a new regexp object on every iteration

https://github.com/rubygems/rubygems/commit/75d9c0f1e4
2023-11-29 21:28:46 +00:00
Matt Boldt 9fc40d2b26 [ruby/prism] Add MacJapanese encoding
MacJapanese (also aliased as MacJapan) is a modified Shift_JIS
encoding, but is implemented identically in Ruby

https://github.com/ruby/prism/commit/9e0a097699
2023-11-29 12:08:15 -05:00
tomoya ishida 86d9a6dcb6 [ruby/irb] Use gem repl_type_completor, remove type_completion
implementation
(https://github.com/ruby/irb/pull/772)

https://github.com/ruby/irb/commit/a4868a5373
2023-11-29 16:30:13 +00:00
Dhaval 9fada99cb2 [ruby/prism] added CP950 encoding
https://github.com/ruby/prism/commit/9c2d1cf4ba
2023-11-29 11:15:50 -05:00
Michael Go bd2b6b702c [rubygems/rubygems] update Magnus library in Rust extension gem template
https://github.com/rubygems/rubygems/commit/46f09800da
2023-11-29 02:21:38 +00:00
Kevin Newton 4938390177 [ruby/prism] Implicit rest nodes
Fundamentally, `foo { |bar,| }` is different from `foo { |bar, *| }`
because of arity checks. This PR introduces a new node to handle
that, `ImplicitRestNode`, which goes in the `rest` slot of parameter
nodes instead of `RestParameterNode` instances.

This is also used in a couple of other places, namely:

* pattern matching: `foo in [bar,]`
* multi target: `for foo, in bar do end`
* multi write: `foo, = bar`

Now the only splat nodes with a `NULL` value are when you're
forwarding, as in: `def foo(*) = bar(*)`.

https://github.com/ruby/prism/commit/dba2a3b652
2023-11-28 22:33:50 +00:00
Peter Zhu fadd28c7ba [ruby/irb] Change show_source tests into integration tests
* Remove trailing spaces

* Migrate show_source tests to integration tests

Because show_source tests often need to define class and/or methods,
they can easily leak state to other tests. Changing them to integration
tests will ensure that they are run in a clean environment.

* Fix NoMethodError caused by SourceFinder#method_target

3c39f13397
2023-11-28 12:22:46 -05:00
paulreece 891ce4614a [ruby/irb] This enhancement allows a user to add the -s flag if they
want to access a methods origin definition.  It allows for chaining
of multiple esses to further go up the classes as needed.
(https://github.com/ruby/irb/pull/770)

https://github.com/ruby/irb/commit/eec1329d5a
2023-11-28 14:56:51 +00:00
Kasumi Hanazuki 5fc71feb6c [ruby/irb] Rescue errors from main.to_s/inspect when formatting
prompt
(https://github.com/ruby/irb/pull/791)

Currently, IRB just terminates if `main.to_s` raises while IRB
constructs the prompt string. This can easily happen if the user wants
to start an IRB session in the instance scope of an uninitialized
object, for example:

```
class C
  def initialize
    binding.irb
    @values = []
  end

  def to_s = @values.join(',')  # raises if uninitialized
end

C.new
```

This patch makes IRB rescue from such an exception and displays the
class name of the exception instead of `main.to_s` to indicate some
error has occurred.

We may display more detailed information about the exception, but this
patch chooses not to do so because 1) the prompt has limited space,
2) users can evaluate `to_s` in IRB to examine the error if they want,
and 3) obtaining the details can also raise, which requires nested
exception handling and can be complicated.

https://github.com/ruby/irb/commit/412ab26067
2023-11-28 14:05:31 +00:00
Kevin Newton c798943a4a [ruby/prism] Move DATA parsing into its own parse result field
https://github.com/ruby/prism/commit/42b60b6e95
2023-11-28 13:25:48 +00:00
Nobuyoshi Nakada 7973eb7c3f [ruby/rdoc] [DOC] Slightly decorate `em` and `strong`
https://github.com/ruby/rdoc/commit/2161157205
2023-11-27 16:07:03 +00:00
Nobuyoshi Nakada 196c4aeb76 [ruby/rdoc] Place a space between certain character class letters only
https://github.com/ruby/rdoc/commit/1f568e049d
2023-11-27 15:58:31 +00:00
Stan Lo a07d84b63c [ruby/irb] Hide debugger hint after the input is submitted
(https://github.com/ruby/irb/pull/789)

If `output_modifier_proc`'s `complete` arg is true, it means the input is
submitted. In that case, debugger hint doesn't provide value to users
and adds noise to the output. So we hide it in such case.

https://github.com/ruby/irb/commit/f86d9dbe2f
2023-11-27 10:34:40 +00:00
Josef Šimánek 71a8daecd9 Opaque Etags for compact index requests
This changes the CompactIndexClient to store etags received from the
compact index in separate files rather than relying on the MD5 checksum
of the file as the etag.

Smoothes the upgrade from md5 etags to opaque by generating them when no
etag file exists. This should reduce the initial impact of changing the
caching behavior by reducing cache misses when the MD5 etag is the same.

Eventually, the MD5 behavior should be retired and the etag should be
considered completely opaque with no assumption that MD5 would match.
2023-11-27 15:04:40 +09:00
David Rodríguez 794c879d19 [rubygems/rubygems] Don't remember `--jobs` flag
https://github.com/rubygems/rubygems/commit/9ab1136036
2023-11-27 15:04:40 +09:00
David Rodríguez 56ac1b0e14 [rubygems/rubygems] Fix advice in `bundle install --system` deprecation
https://github.com/rubygems/rubygems/commit/59a66e3560
2023-11-27 15:04:40 +09:00
David Rodríguez e00d7b6182 [rubygems/rubygems] Keep a single copy of the remembered flag deprecation message
https://github.com/rubygems/rubygems/commit/cb4e26eabc
2023-11-27 15:04:40 +09:00
David Rodríguez fe57be5a2e [rubygems/rubygems] Avoid some unnecessary quotes in remember flag deprecation message
https://github.com/rubygems/rubygems/commit/3fd627e486
2023-11-27 15:04:40 +09:00
David Rodríguez bd4bd61650 [rubygems/rubygems] Simplify remembered flags deprecation message
Configuration is now local by default.

https://github.com/rubygems/rubygems/commit/6bc7709aa8
2023-11-27 15:04:40 +09:00
Olle Jonsson 52c7e43b87 [rubygems/rubygems] Add missing --prefer-local to Synopsis in bundle-install.1.ronn
https://github.com/rubygems/rubygems/commit/e956c5bbe4
2023-11-26 22:08:27 +00:00
Samuel Giddins 08308fe3e8 [rubygems/rubygems] Reduce allocations when installing gems with bundler
```
==> memprof.after.txt <==
Total allocated: 1.13 MB (2352 objects)
Total retained:  10.08 kB (78 objects)

==> memprof.before.txt <==
Total allocated: 46.27 MB (38439 objects)
Total retained:  9.94 kB (75 objects)
```

Yes, we were allocating 45MB of arrays in `dependencies_installed?`,
it was accidentally cubic.

https://github.com/rubygems/rubygems/commit/13ab874388
2023-11-26 22:07:39 +00:00
Stan Lo cc5d1bf026 [ruby/irb] Display aliases in help message
(https://github.com/ruby/irb/pull/788)

Similar to Pry, it displays user-defined aliases in the help message with
a dedicated section. With the current default aliases, it looks like:

```
...other sections...

Aliases
  $              Alias for `show_source`
  @              Alias for `whereami`
```

https://github.com/ruby/irb/commit/2a0eacc891
2023-11-26 17:07:45 +00:00
Stan Lo 9cd086ba4b [ruby/irb] Support disabling pager
(https://github.com/ruby/irb/pull/783)

With either `IRB.conf[:USE_PAGER] = false` or `--no-pager` commnad line flag.

I decided use `--no-pager` instead of `--use-pager` because it matches with
Pry and git's command line flags.

https://github.com/ruby/irb/commit/df1c3b9042
2023-11-26 11:07:50 +00:00
Jeremy Evans 87c3deacf4 [ruby/resolv] Support a :use_ipv6 option to Resolv#initialize
When set, supports returning IPv6 results even if there is no
public IPv6 address for the system.

Implements Ruby Feature #14922

https://github.com/ruby/resolv/commit/09d141de38
2023-11-25 11:40:08 -08:00
tomoya ishida f6b292b5ca [ruby/irb] Fix exception(backtrace=nil) prints nothing
(https://github.com/ruby/irb/pull/782)

https://github.com/ruby/irb/commit/fa9ecf9a5b
2023-11-25 10:16:02 +00:00
Jeremy Evans 7276d4b4e8 [ruby/resolv] Support a :raise_timeout_errors option to raise timeouts as Resolv::ResolvError
This allows to differentiate a timeout from an NXDOMAIN response.

Fixes [Bug #18151]

https://github.com/ruby/resolv/commit/c0e5abab76
2023-11-25 02:24:43 +00:00
Jeremy Evans 974d18fd0c [ruby/resolv] Fix the fallback from UDP to TCP due to message truncation
If truncation is detected, return immediately from decode so that
the UDP connection can be retried with TCP, instead of failing to
decode due to trying to decode a truncated response.

Fixes [Bug #13513]

https://github.com/ruby/resolv/commit/0de996dbca
2023-11-24 19:17:19 +00:00
Mau Magnaguagno 87ddfb33a0 [rubygems/rubygems] Fix typo missing do
https://github.com/rubygems/rubygems/commit/4eade32ad6
2023-11-24 07:26:27 +00:00
Mau Magnaguagno f792b55b21 [rubygems/rubygems] Prefer String#each_line in Gem::Command
Replace ``String#split("\n").each`` with ``String#each_line``.

https://github.com/rubygems/rubygems/commit/958744807d
2023-11-24 07:26:26 +00:00
KJ Tsanaktsidis 02cc9d48f1 [ruby/resolv] Catch EPROTONOSUPPORT as a sign of no IPv6 as well
(https://github.com/ruby/resolv/pull/41)

If IPv6 is disabled inside a freebsd jail, it seems this returns
EPROTONOSUPPORT and not EAFNOSUPPORT. In both cases, we should simply
try some other listed DNS servers.

Fixes [Bug #19928] https://bugs.ruby-lang.org/issues/19928

https://github.com/ruby/resolv/commit/5e2d48708b
2023-11-24 04:06:25 +00:00
Kasumi Hanazuki e3b485213d [ruby/resolv] Implement dohpath SvcParam
(https://github.com/ruby/resolv/pull/33)

* Implement dohpath SvcParam [RFC 9461]

This patch implements "dohpath" SvcParam proposed in
[draft-ietf-add-svcb-dns-08]. This parameter specifies a URI template
for the :path used in DNS-over-HTTPS requests.

"dohpath" is employed by [DDR], also a to-be-published Proposed Standard
that specifies how to upgrade DNS transport to a more secure one, i.d.,
DNS-over-TLS or DNS-over-HTTPS. DDR is deployed in the public DNS
resolvers including Cloudflare DNS, Google Public DNS, and Quad9.

[RFC 9461]: https://datatracker.ietf.org/doc/rfc9461/
[DDR]: https://datatracker.ietf.org/doc/draft-ietf-add-ddr/

https://github.com/ruby/resolv/commit/da9c023539

Co-authored-by: Sorah Fukumori <her@sorah.jp>
2023-11-24 01:42:08 +00:00
Kasumi Hanazuki 608a518b42 [ruby/resolv] Implement SVCB and HTTPS RRs
(https://github.com/ruby/resolv/pull/32)

* Add MessageDecoder#get_list

This method repeats yielding until all the data upto the current limit
is consumed, and then returns an Array containig the block results.

* Implement SVCB and HTTPS RRs [RFC 9460]

> This patch implements SVCB and HTTPS resource record types defined in
> [RFC 9460].
>
> The RR types are now supported by many server implementations including
> BIND, unbound, PowerDNS, and Knot DNS. Major browsers such as Chrome,
> Edge, and Safari have started to query HTTPS records, with the records
> gradually adopted by websites. Also, SVCB is actually deployed in the
> public DNS resolvers such as Cloudflare DNS and Google Public DNS for
> [DDR].
>
> With such wide adoption, we have plenty of real-world use cases, and
> it is unlikely the wire format will change further in an incompatible
> way. It is time to implement them in the client libraries!
>
> # Rationale for proposed API
>
> ## `Resolv::DNS::Resource::IN::ServiceBinding`
>
> This is an abstract class for SVCB-compatible RR types.
> SVCB-compatible RR types, as defined in the Draft, shares the wire
> format and the semantics of their RDATA fields with SVCB to allow
> implementations to share the processing of these RR types. So we do
> so.
>
> The interface of this class is straightforward: It has three
> attributes `priority`, `target`, and `params`, which correspond the
> RDATA fields SvcPriority, TargetName, and SvcParams, resp.
>
> SVCB RR type is defined specifically within IN class. Thus, this
> class is placed in the `Resolv::DNS::Resource::IN` namespace.
>
> ## `Resolv::DNS::Resource::IN::SVCB`, `Resolv::DNS::Resource::IN::HTTPS`
>
> Just inherits ServiceBinding class.
>
> ## `Resolv::DNS::SvcParam`
>
> This class represents a pair of a SvcParamKey and a SvcParamValue.
> Aligned with the design of `Resolv::DNS::Resource`, each SvcParamKey
> has its own subclass of `Resolv::DNS::SvcParam`.
>
> ## `Resolv::DNS::SvcParam::Generic`
>
> This is an abstract class representing a SvcParamKey that is unknown
> to this library. `Generic.create(key)` dynamically defines its
> subclass for specific `key`. E.g., `Generic.create(667)` will define
> `Generic::Key667`.
>
> This class holds SvcParamValue in its wire format.
>
> SvcParam with an unknown SvcParamKey will be decoded as a subclass of
> this class. Also, users of this library can generate a non-supported
> SvcParam if they know its wire format.
>
> ## `Resolv::DNS::SvcParams`
>
> This is conceptually a set of `SvcParam`s, whose elements have the
> unique SvcParamKeys. It behaves like a set, and for convenience
> provides indexing by SvcParamKey.
>
> - `#initialize(params)` takes an Enumerable of `SvcParam`s as the
>   initial content. If it contains `SvcParam`s with the duplicate key,
>   the one that appears last takes precedence.
> - `#[](key)` fetches the `SvcParam` with the given key. The key can be
>   specified by its name (e.g., `:alpn`) or number (e.g., `1`).
> - `#add(param)` adds a `SvcParam` to the set. If the set already has a
>   `SvcParam` with the same key, it will be replaced.
> - `#delete(key)` deletes a `SvcParam` by its key and returns it. The key
>   can be specified by its name or number.

* Update comments referring to draft-ietf-dnsop-svcb-https-12

Published as RFC 9460. https://datatracker.ietf.org/doc/rfc9460/

[draft-ietf-dnsop-svcb-https-12]: https://datatracker.ietf.org/doc/draft-ietf-dnsop-svcb-https/12/
[RFC 9460]: https://datatracker.ietf.org/doc/rfc9460/
[DDR]: https://datatracker.ietf.org/doc/draft-ietf-add-ddr/

https://github.com/ruby/resolv/commit/b3ced7f039
2023-11-24 01:35:33 +00:00
Eric Mueller 055a4f09ca [rubygems/rubygems] Don't require 'json' unless it's actually needed
https://github.com/rubygems/rubygems/commit/97ee203fd5
2023-11-23 18:03:17 +00:00
Eric Mueller c424d15cb9 [rubygems/rubygems] Add --json bundle-outdated flag to produce json-parseable output
https://github.com/rubygems/rubygems/commit/65efa44bc0
2023-11-23 18:03:17 +00:00
Eric Mueller a54c98a29f [rubygems/rubygems] Factor group-filtering to a private method to reduce repetition
We're about to expand the repeated bit of code, so drying it up a little
is warranted.

https://github.com/rubygems/rubygems/commit/e69c658be6
2023-11-23 18:03:16 +00:00
tomoya ishida 11d7c75fb3 [ruby/irb] Handle handle_exception's exception
(https://github.com/ruby/irb/pull/780)

https://github.com/ruby/irb/commit/d42138c477
2023-11-23 17:33:13 +00:00
Stan Lo e8b9058964 [ruby/irb] Hint debugger command in irb:rdbg session
(https://github.com/ruby/irb/pull/768)

When user enters irb:rdbg session, they don't get the same hint that the
`debug` gem provides, like

```
(rdbg) n    # next command
```

This means that users may accidentally execute commands when they want to
retrieve the value of a variable.

So this commit adds a Reline output modifier to add a simiar hint:

```
irb:rdbg(main):002> n # debug command
```

It is not exactly the same as `debug`'s because in this case the importance
is to help users distinguish between value evaluation and debugger command
execution.

https://github.com/ruby/irb/commit/fdf24de851
2023-11-23 07:29:12 +00:00
hogelog e2078ccd5a [ruby/irb] Fix failure of more command with -R option
(https://github.com/ruby/irb/pull/781)

https://github.com/ruby/irb/commit/7d6849e44e
2023-11-23 07:24:35 +00:00
tomoya ishida 8d6175bf64 [ruby/irb] Require prism >= 0.18.0 (MatchWriteNode#targets and
CaseMatchNode)
(https://github.com/ruby/irb/pull/778)

https://github.com/ruby/irb/commit/943c14b12e
2023-11-22 20:29:51 +00:00
Kevin Newton 1f06d168ba [ruby/prism] Add new doc to gemspec
https://github.com/ruby/prism/commit/99dfca6c1d
2023-11-22 15:15:07 +00:00
heyogrady e3ef05a434 [ruby/prism] Add `CP949` encoding
https://github.com/ruby/prism/commit/9e78dfdf69
2023-11-22 09:12:35 -05:00
David Rodriguez c05495530e [rubygems/rubygems] Fix universal lockfiles regression
If a platform specific variant would not match the current Ruby, we would still be
considering it compatible with the initial resolution and adding its
platform to the lockfile, but we would later fail to materialize it for
installation due to not really being compatible.

Fix is to only add platforms for variants that are also compatible with
current Ruby and RubyGems versions.

https://github.com/rubygems/rubygems/commit/75d1290843
2023-11-22 13:17:12 +00:00
Benoit Daloze 018e6abf85 [ruby/prism] Move CallNode#name field between receiver and arguments
* The same order as in source code.
* CallOrWriteNode, CallOperatorWriteNode, CallAndWriteNode already have
  the correct order so it was also inconsistent with them.

https://github.com/ruby/prism/commit/4434e4bc22
2023-11-22 12:15:20 +00:00
tomoya ishida ea60bf912c [ruby/irb] Rescue Exception, ignore warning in completion
doc_namespace
(https://github.com/ruby/irb/pull/777)

https://github.com/ruby/irb/commit/c2f671611a
2023-11-22 12:06:25 +00:00
John Bond 9e24d747ff [ruby/resolv] IPv6: update to_s method to be RFC5952 compliant
(https://github.com/ruby/resolv/pull/25)

* IPv6: update to_s method to be RFC5952 compliant

I noticed that the resolv library does not honour RFC 5952 Section 4.2.2.
in relation to textural representation of ipv6 addresses:

   The symbol "::" MUST NOT be used to shorten just one 16-bit 0 field.
   For example, the representation 2001:db8:0:1:1:1:1:1 is correct, but
   2001:db8::1:1:1:1:1 is not correct.

Fixes https://github.com/ruby/resolv/pull/24

https://github.com/ruby/resolv/commit/5efcd6ed70

Co-authored-by: Sorah Fukumori <sora134@gmail.com>
2023-11-22 10:35:36 +00:00
Burdette Lamar d68e5c6d19 [ruby/open3] [DOC] Open3 doc (https://github.com/ruby/open3/pull/21)
https://github.com/ruby/open3/commit/3bdb402b18
2023-11-21 22:25:28 +00:00
Bo Anderson 57fa69f26f [rubygems/rubygems] Fix invalid platform removal missing adjacent platforms
https://github.com/rubygems/rubygems/commit/4ce66c41a2
2023-11-21 19:11:15 +00:00
Kevin Newton 7d6f812c31 [ruby/prism] Update to v0.18.0
https://github.com/ruby/prism/commit/1398879d79
2023-11-21 13:59:10 -05:00
Vinicius Stock 7a9bb6d2a7 [ruby/prism] Fix constant path full name when parent is not a
constant
(https://github.com/ruby/prism/pull/1742)

* Raise if constant path parts contains nodes that can't be used to build full name

* Fix typo in constant path error documentation

Co-authored-by: Tim Morgan <tim@timmorgan.org>

---------

https://github.com/ruby/prism/commit/d73a053262

Co-authored-by: Tim Morgan <tim@timmorgan.org>
2023-11-21 16:39:27 +00:00
Haldun Bayhantopcu 8966d06b96 [ruby/prism] Warning for ENDs in methods
(https://github.com/ruby/prism/pull/1899)

https://github.com/ruby/prism/commit/1b41c2d56c
2023-11-21 16:36:12 +00:00
tomoya ishida f954a5663a [ruby/irb] Bump version to 1.9.1
(https://github.com/ruby/irb/pull/773)

https://github.com/ruby/irb/commit/997df3e849
2023-11-21 13:02:21 +00:00
Ryan Garver e16ff17374 Rename the big5-hkscs stuff to something more generic and add UAO sharing common code.
Merge the Big5 extensions into pm_big5.c
2023-11-20 21:18:31 -05:00
ima1zumi 7164715666 [ruby/irb] Enable Setting Completer Type through `IRB_COMPLETOR`
(https://github.com/ruby/irb/pull/771)

I propose introducing the capability to set the IRB completion kinds via an environment variable, specifically `IRB_COMPLETOR=type`.
This feature aims to enhance the Rails console experience by allowing Rails users to specify their preferred completion more conveniently.

Currently, when using the Rails console, there's no straightforward way to globally set the type completion across a Rails application repository.
It's possible to configure this setting by placing a `.irbrc` file at the project root. However, using a .irbrc file is not ideal as it allows for broad configurations and can potentially affect the production environment.
My suggestion focuses on allowing users to set the completion to 'type' in a minimal.

This enhancement would be particularly beneficial for teams writing RBS in their Rails applications.
This type completer, integrated with RBS, would enhance completion accuracy, improving the Rails console experience.

https://github.com/ruby/irb/commit/032f6da25f
2023-11-21 00:04:41 +00:00
Kevin Newton f2ed7eaba0 [ruby/prism] Add character APIs for locations
(https://github.com/ruby/prism/pull/1809)

https://github.com/ruby/prism/commit/d493ccd093
2023-11-20 16:07:06 +00:00
Burdette Lamar 37585fd62a [ruby/open3] [DOC] RDoc for Open3
(https://github.com/ruby/open3/pull/20)

https://github.com/ruby/open3/commit/4c9e7492eb
2023-11-19 02:42:33 +00:00
Ryan Garver cd4316a51f [ruby/prism] Big5 HKSCS encoding
https://github.com/ruby/prism/commit/3ca9823eb4
2023-11-18 13:52:17 -05:00
tomoya ishida 631b500dd5 [ruby/irb] Fix irb crash on `{}.` completion
(https://github.com/ruby/irb/pull/764)

https://github.com/ruby/irb/commit/07e4d540cc
2023-11-18 17:49:06 +00:00
Maple Ong d976e7cc4b [ruby/prism] Update gemspec
https://github.com/ruby/prism/commit/1a10f6f9c0
2023-11-16 17:13:17 +00:00
Burdette Lamar 2524c8b551 [ruby/open3] [DOC] RDoc for Open3
(https://github.com/ruby/open3/pull/19)

https://github.com/ruby/open3/commit/577bee9696
2023-11-16 16:27:41 +00:00
Hiroshi SHIBATA c65bb5a0f8 Warn bundled gems before Ruby 3.4.0 2023-11-16 18:14:48 +09:00
Hiroshi SHIBATA 7415901ac2 Always revert or skip extended require of RubyGems. 2023-11-16 18:14:48 +09:00
Nobuyoshi Nakada e374512682 [ruby/rdoc] Revert "chore: Remove unnecessary argument for `join` method"
This reverts commit https://github.com/ruby/rdoc/commit/4a1c74bc0a09.

Since RDoc still supports ruby 2.6 which has not deprecated `$,`, the
argument of `Array#join` is not unnecessary yet.

https://github.com/ruby/rdoc/commit/72897d32ed
2023-11-16 02:22:08 +00:00
toshimaru 8d160b9350 [ruby/rdoc] chore: Remove unnecessary argument for `join` method
https://github.com/ruby/rdoc/commit/4a1c74bc0a
2023-11-16 01:43:12 +00:00
toshimaru 72242e69aa [ruby/rdoc] fix: Fix NoMethodError for `tokens_to_s` method
Calling `tokens_to_s` gets an error if `token_stream` is nil:

```
undefined method `compact' for nil:NilClass (NoMethodError)
```

So, fall back to an empty array if `@token_stream` is nil.

https://github.com/ruby/rdoc/commit/452e4a2600
2023-11-16 01:43:12 +00:00
Kevin Newton d2e7a70ee6 [ruby/prism] Track the then keyword for conditionals
https://github.com/ruby/prism/commit/fef0019a25
2023-11-15 23:08:11 +00:00
Samuel Giddins b69bbf588a [rubygems/rubygems] User bundler UA when downloading gems
Gem::RemoteFetcher uses Gem::Request, which adds the RubyGems UA.
Gem::RemoteFetcher is used to download gems, as well as the full index.
We would like the bundler UA to be used whenever bundler is making
requests.

This PR also avoids unsafely mutating the headers hash on the shared
`Gem::RemoteFetcher.fetcher` instance, which could cause corruption or
incorrect headers when making parallel requests. Instead, we create one
remote fetcher per rubygems remote, which is similar to the connection
segregation bundler is already doing

https://github.com/rubygems/rubygems/commit/f0e8dacdec
2023-11-15 08:33:14 +00:00
Kevin Newton ed75518192
[ruby/prism] Rename librubyparser to libprism
librubyparser was an artifact of the prototype that was initially
named ruby-parser. Instead, this renames it to libprism to be
consistent with the actual name.

https://github.com/ruby/prism/commit/8600b06811
2023-11-14 16:22:03 -05:00
Nobuyoshi Nakada 9935512275 [ruby/rdoc] Fix TIDYLINK after braces
(https://github.com/ruby/rdoc/pull/1015)

TIDYLINK multi-word label should not include braces.

https://github.com/ruby/rdoc/commit/41ad3191e9
2023-11-14 07:59:56 +00:00
Paul Bob 33b92c2d6b [rubygems/rubygems] improvement: include response body on fetch_http error
https://github.com/rubygems/rubygems/commit/de4189af35
2023-11-14 03:18:55 +00:00
Benoit Daloze bbfd735b88 [rubygems/rubygems] TruffleRuby uses a bash prelude in default launchers
https://github.com/rubygems/rubygems/commit/e119f4208a
2023-11-13 14:57:15 +00:00
tomoya ishida 90b49024c0 [ruby/reline] Fallback to 256color if COLORTERM != truecolor
(https://github.com/ruby/reline/pull/604)

* Fallback to 256color if COLORTERM != truecolor

* Add Reline::Face.force_truecolor to force truecolor without COLORTERM env

https://github.com/ruby/reline/commit/090e1e4df0
2023-11-13 12:42:31 +00:00
Nobuyoshi Nakada 8e64c87f64 [rubygems/rubygems] Make sure to `require "rubygems"` explicitly
This is also done in bundler/lib/bundler/rubygems_integration.rb, but
bundler/lib/bundler.rb loads this file before it.

https://github.com/rubygems/rubygems/commit/8840d8507b
2023-11-13 11:33:00 +00:00
David Rodríguez 5bdbe242b3 [rubygems/rubygems] Add a warning in an edge case of using `gemspec` DSL
If a Gemfile duplicates a development dependency also defined in a local
gemspec with a different requirement, the requirement in the local
gemspec will be silently ignored.

This surprised me.

I think we should either:

* Make sure both requirements are considered, like it happens for
  runtime dependencies (I added a spec to illustrate the current behavior
  here).

* Add a warning that the requirement in the gemspec will be ignored.

I think the former is slightly preferable, but it may cause some
bundle's that previously resolve to no longer resolver.

I went with the latter but the more I think about it, the more this
seems like it should behave like the former.

https://github.com/rubygems/rubygems/commit/ad6843972f
2023-11-13 11:06:10 +09:00
David Rodríguez e2d7e53c5c [rubygems/rubygems] This can be frozen now
https://github.com/rubygems/rubygems/commit/d06544add2
2023-11-13 11:06:10 +09:00
David Rodríguez 3757d9027c [rubygems/rubygems] Remove now unnecessary dups
https://github.com/rubygems/rubygems/commit/56ce2a6445
2023-11-13 11:06:10 +09:00
David Rodríguez e6c84d05d0 [rubygems/rubygems] Remove now unnecessary dup
https://github.com/rubygems/rubygems/commit/3c1a6a7dfa
2023-11-13 11:06:10 +09:00
David Rodríguez c7bf511cbf [rubygems/rubygems] Add a note about `required_rubygems_version` in Bundler
https://github.com/rubygems/rubygems/commit/9509d98b5c
2023-11-13 11:06:10 +09:00
David Rodríguez a4d80eee17 [rubygems/rubygems] Let RuboCop target Ruby 3.0
https://github.com/rubygems/rubygems/commit/70243b1d72
2023-11-13 11:06:10 +09:00