aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* [rubygems/rubygems] Bundler::Fetcher uses Bundler::CIDetectorEric Mueller2023-12-061-14/+2
| | | | | | | | | | 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
* [rubygems/rubygems] Duplicate Gem::CIDetector into bundlerEric Mueller2023-12-062-0/+76
| | | | | | | | | | | 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
* [rubygems/rubygems] Gem::UpdateSuggestion uses Gem::CIDetectorEric Mueller2023-12-061-14/+1
| | | | https://github.com/rubygems/rubygems/commit/e5b0458342
* [rubygems/rubygems] Introduce the Gem::CIDetectorEric Mueller2023-12-062-0/+76
| | | | | | | | | | | | | | | | | | | | | | 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
* [rubygems/rubygems] Try to load Gem::BUNDLED_GEMS on BundlerHiroshi SHIBATA2023-12-061-0/+5
| | | | | | | `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
* [ruby/rdoc] Only word-ending colon separates new definitionNobuyoshi Nakada2023-12-061-3/+3
| | | | | | | 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
* [ruby/rdoc] Needs more backslash to match escaping backslashsNobuyoshi Nakada2023-12-061-2/+1
| | | | https://github.com/ruby/rdoc/commit/1904e9076d
* [rubygems/rubygems] Use String#unpack1 available since ruby 3.0Martin Emde2023-12-063-4/+3
| | | | https://github.com/rubygems/rubygems/commit/46258d6cb4
* [rubygems/rubygems] Converts Bundler lockfile checksum validation to opt-in onlyMartin Emde2023-12-056-17/+32
| | | | | | | | | 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
* [ruby/syntax_suggest] Remove duplicate error messagesSchneems2023-12-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [ruby/syntax_suggest] Update docs, clean up PRSchneems2023-12-056-14/+26
| | | | | | Removes or updates mentions of Ripper https://github.com/ruby/syntax_suggest/commit/08aaa3f50a
* [ruby/syntax_suggest] Support lexing with PrismSchneems2023-12-053-19/+27
| | | | https://github.com/ruby/syntax_suggest/commit/7f4176a914
* [ruby/syntax_suggest] Initial support for the prism parserSchneems2023-12-053-12/+70
| | | | | | | | | | | | | | 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
* [ruby/irb] Bump version to v1.10.1Stan Lo2023-12-051-2/+2
| | | | | | (https://github.com/ruby/irb/pull/801) https://github.com/ruby/irb/commit/a1e431bd83
* [ruby/irb] Disable pager when TERM is not set tooStan Lo2023-12-051-1/+1
| | | | | | (https://github.com/ruby/irb/pull/802) https://github.com/ruby/irb/commit/173980974b
* [ruby/irb] Pager should be disabled when TERM=dumbStan Lo2023-12-051-1/+5
| | | | | | | | | | | (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
* [ruby/rdoc] Allow any single-word token upto 2 before C method implementationNobuyoshi Nakada2023-12-051-3/+2
| | | | | | | | | 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
* [ruby/rdoc] Reduce matched substring allocationsNobuyoshi Nakada2023-12-051-6/+6
| | | | https://github.com/ruby/rdoc/commit/aaed688a97
* [ruby/rdoc] Bump up 6.6.1Hiroshi SHIBATA2023-12-051-1/+1
| | | | https://github.com/ruby/rdoc/commit/7cf353a696
* [ruby/tempfile] Bump up 0.2.1Hiroshi SHIBATA2023-12-051-1/+1
| | | | https://github.com/ruby/tempfile/commit/1450bb4f1c
* [ruby/tempfile] Alias #to_s to #inspectAkshay Birajdar2023-12-051-0/+1
| | | | https://github.com/ruby/tempfile/commit/e515889412
* [ruby/cgi] Bump up 0.4.1Hiroshi SHIBATA2023-12-051-1/+1
| | | | https://github.com/ruby/cgi/commit/929e6264b5
* [ruby/rdoc] Early return when `token_stream` is `nil`Toshimaru2023-12-051-1/+1
| | | | | | https://github.com/ruby/rdoc/commit/04f75d8516 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* [ruby/rdoc] fix: fix `NoMethodError` when `token_stream` is niltoshimaru2023-12-051-2/+2
| | | | | | | | | 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>
* [rubygems/rubygems] Fix crash when duplicating a dev dependency in Gemfile & ↵David Rodríguez2023-12-051-4/+6
| | | | | | gemspec https://github.com/rubygems/rubygems/commit/e78c0a4a48
* [rubygems/rubygems] Instead of checking writability, try to writeDavid Rodríguez2023-12-051-1/+3
| | | | | | | | | | 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
* [rubygems/rubygems] Prefer String#split with block in Gem::YAMLSerializer#loadMau Magnaguagno2023-12-051-1/+1
| | | | | | String#split supports a block since Ruby 2.6, avoiding intermediate array. https://github.com/rubygems/rubygems/commit/69cdf9e9d4
* [rubygems/rubygems] Prefer String#split with block in ↵Mau Magnaguagno2023-12-051-1/+1
| | | | | | | | Bundler::CompactIndexClient::Cache#versions String#split supports a block since Ruby 2.6, avoiding intermediate array. https://github.com/rubygems/rubygems/commit/4e864a8f2e
* [rubygems/rubygems] Prefer String#split with block in ↵Mau Magnaguagno2023-12-051-1/+1
| | | | | | | | Bundler::YAMLSerializer#load String#split supports a block since Ruby 2.6, avoiding intermediate array. https://github.com/rubygems/rubygems/commit/5b324969cd
* [ruby/syntax_suggest] Bump minimum Ruby version & update standardrbSchneems2023-12-044-5/+5
| | | | https://github.com/ruby/syntax_suggest/commit/73753518e9
* [ruby/syntax_suggest] Update standardrb to Ruby 3.0 standardsSchneems2023-12-043-6/+6
| | | | https://github.com/ruby/syntax_suggest/commit/2771dcabe0
* [ruby/prism] Fix up docs for lex_compatKevin Newton2023-12-041-4/+4
| | | | https://github.com/ruby/prism/commit/9131e84060
* [ruby/prism] Ripper compat docs updateKevin Newton2023-12-041-34/+49
| | | | https://github.com/ruby/prism/commit/5f70b32b02
* [ruby/irb] Bump version to v1.10.0Stan Lo2023-12-031-2/+2
| | | | | | (https://github.com/ruby/irb/pull/798) https://github.com/ruby/irb/commit/4acc9b8d6c
* [Fix] Support when nil is assigned to variable `name` (#9105)jinroq2023-12-021-1/+1
| | | * Add `!name.nil?` to if condition
* [ruby/rdoc] Markup punctuations need to be separated with a spaceNobuyoshi Nakada2023-12-021-1/+1
| | | | https://github.com/ruby/rdoc/commit/83f0149fc1
* [ruby/irb] Implement `history` commandGary Tou2023-12-022-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* [ruby/prism] Prism.parse_success?(source)Kevin Newton2023-12-012-1/+30
| | | | | | | | | | | | 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
* [rubygems/rubygems] Reduce array allocations when loading definitionSamuel Giddins2023-12-012-4/+14
| | | | | | 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
* [ruby/prism] Provide heredoc? queriesKevin Newton2023-12-011-16/+41
| | | | https://github.com/ruby/prism/commit/e148e8fe6a
* [ruby/irb] Scrub past history input before splithogelog2023-12-011-1/+1
| | | | | | | | | | (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
* [rubygems/rubygems] Many major_deprecations supply :removed_messageEric Mueller2023-12-017-46/+91
| | | | | | | | | | 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
* [rubygems/rubygems] major_deprecation accepts :removed_messageEric Mueller2023-12-011-3/+5
| | | | | | | 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
* [ruby/prism] Change numbered parametersKevin Newton2023-12-011-3/+8
| | | | | | | | | | | | | | | | | | | | 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
* [ruby/prism] Fix comments after HEREDOCs again.Martin Emde2023-12-011-13/+8
| | | | | | | | | | | 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
* [PRISM] Consolidate prism encoding filesKevin Newton2023-11-301-8/+2
|
* [PRISM] Big5 encodingsKevin Newton2023-11-301-1/+0
|
* [PRISM] Alias CP51932 to EUC-JPKevin Newton2023-11-301-1/+0
|
* [PRISM] Consolidate SJIS encodingsKevin Newton2023-11-301-3/+1
|
* [rubygems/rubygems] Only show "Defaulting to user installation" message when ↵Ellen Marie Dash2023-11-301-1/+11
| | | | | | it matters. https://github.com/rubygems/rubygems/commit/61b0947225