summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2023-05-29[ruby/cgi] Add TruffleRuby support and add it in CIBenoit Daloze
https://github.com/ruby/cgi/commit/1240fec9c9
2023-05-29mkmf: Add the extra option `--with-verbose` to enable verbose mode. (#7863)Jun Aruga
This commit is to add an extra option to enable verbose mode (V=1) in the generated `Makefile` at runtime of the Ruby to print compiler command lines by the commands below when building native extensions. It's possible to enable the verbose mode by setting the environment variable `MAKEFLAGS="V=1"`[1] implemented in GNU make. However, I wanted to make a consistent user-interface not depending on the specific make's implementation. ``` $ ruby /path/to/extconf.rb -- --with-verbose ``` You can also add the extra option via rake-compiler gem. ``` $ rake compiler -- --with-verbose ``` If the extra option is not given, the value of the `RbConfig::CONFIG["MKMF_VERBOSE"]` enabled by the configure option below is used. ``` $ ./configure --enable-mkmf-verbose ``` For the unit tests, updated the following files. * The `test/mkmf/test_configuration.rb` was created to test the cases with the `configuration` method and this implementation. * Updated the `TestMkmf#assert_separately` to set the extra arguments in `test/mkmf/base.rb`. Updated tests using the `assert_separately`. * Added tests for `MakeMakefile#with_config` in the `test/mkmf/test_config.rb`. [1] https://www.gnu.org/software/make/manual/html_node/Variables_002fRecursion.html Fixes [Bug #19695] Co-authored-by: Nobuyoshi Nakada <[email protected]> Notes: Merged-By: junaruga
2023-05-28[ruby/irb] Set maximum document dialog height bytomoya ishida
preferred_dialog_height provided by Reline (https://github.com/ruby/irb/pull/591) https://github.com/ruby/irb/commit/df6907aca9
2023-05-27[ruby/reline] Fix scrolldown condition in dialog renderingtomoya ishida
(https://github.com/ruby/reline/pull/541) https://github.com/ruby/reline/commit/ad6faada3f
2023-05-27[ruby/reline] Use appropriate dialog height and reduce screen pushuptomoya ishida
problem (https://github.com/ruby/reline/pull/542) * Provide preferred_dialog_height for dialog positioning * Fix rendering test
2023-05-26[ruby/rdoc] Improve `<summary>` CSS on sidebarMasafumi Koba
- Use a smaller font size for the toggle symbol. (Currently, it seems a little too large) - Use the child combinator (`>`) to unify selectors. - Use `margin-left` instead of whitespace within the `content` property. - Use `::` instead of outdated `:` for the pseudo-element symbol. (See https://developer.mozilla.org/en-US/docs/Web/CSS/::before) https://github.com/ruby/rdoc/commit/61ce0a7d75
2023-05-26[ruby/rdoc] Improve layout CSSMasafumi Koba
- Use the `grid` property for the page layout. - https://caniuse.com/css-grid - Adjust the `<main>` margin. - Make the sidebar responsive and resizable. - https://caniuse.com/css-math-functions - https://caniuse.com/css-resize Note all modern browsers support the new CSS properties and functions used by this change. https://github.com/ruby/rdoc/commit/2db5097c41
2023-05-25[rubygems/rubygems] Load plugin immediatelySutou Kouhei
We can install RubyGems plugin by "gem install XXX". The installed plugin is used from the NEXT "gem ...". For example, "gem install gem-src kaminari" doesn't use gem-src plugin for kaminari. "gem install gem-src && gem install kaminari" uses gem-src plugin for kaminari. How about loading a plugin immediately when the plugin is installed? If this proposal is implemented, "gem install gem-src kaminari" works like "gem install gem-src && gem install kaminari". https://github.com/rubygems/rubygems/commit/4917d96f4c
2023-05-25Fixup 5bfb317a938Hiroshi SHIBATA
2023-05-25[ruby/benchmark] Don't use version.rbHiroshi SHIBATA
https://github.com/ruby/benchmark/commit/6d51b10500
2023-05-25Move gemspec files to top of lib directory.Hiroshi SHIBATA
They have version.rb files with same directory. But version.rb have been removed at https://github.com/ruby/ruby/pull/3375 There is no reason to locate under the library name of directory.
2023-05-25[ruby/csv] All Enumerable based methods consume the same lines with other ↵Sutou Kouhei
methods This may have a performance penalty. We should benchmark this. GitHub: fix https://github.com/ruby/csv/pull/260 Reported by Lhoussaine Ghallou. Thanks!!! https://github.com/ruby/csv/commit/acc05116c5 Notes: Merged: https://github.com/ruby/ruby/pull/7851
2023-05-25[ruby/csv] CSV#read consumes the same lines with other methods like CSV#shiftSutou Kouhei
GitHub: fix https://github.com/ruby/csv/pull/258 Reported by Lhoussaine Ghallou. Thanks!!! https://github.com/ruby/csv/commit/71e6d24e28 Notes: Merged: https://github.com/ruby/ruby/pull/7851
2023-05-25[ruby/csv] Remove no longer required refinementsMau Magnaguagno
(https://github.com/ruby/csv/pull/250) Since PR #159, the minimum Ruby version is 2.5.0, a version which no longer requires refinements for String#delete_suffix?, String#match? and Regexp#match?. Notes: Merged: https://github.com/ruby/ruby/pull/7851
2023-05-23[rubygems/rubygems] Remove forward slash in key regardless if it contains __Jenny Shen
https://github.com/rubygems/rubygems/commit/33a02eec00
2023-05-23[rubygems/rubygems] Modify invalid key check to accept keys with colonsJenny Shen
https://github.com/rubygems/rubygems/commit/413033198b Co-authored-by: Eric Herscovich <[email protected]>
2023-05-23[ruby/irb] Allow `show_source` for private methodsTSUYUSATO Kitsune
(https://github.com/ruby/irb/pull/589) * Allow `show_source` for private methods Fix https://github.com/ruby/irb/pull/577 * Pend tests on TruffleRuby It seems `eval(..., __LINE__ + 1)` does not work. Other similar tests are also pended on TruffleRuby, so I think it is acceptable. * Use `private_method_defined?` instead of `defined?`
2023-05-23Manually merge syntax_suggest-1.1.0Hiroshi SHIBATA
2023-05-23[ruby/syntax_suggest] Fixschneems
https://github.com/ruby/syntax_suggest/pull/187 Handle if/else with empty/comment line Reported in #187 this code: ``` class Foo def foo if cond? foo else # comment end end # ... def bar if @recv end_is_missing_here end end ``` Triggers an incorrect suggestion: ``` Unmatched keyword, missing `end' ? 1 class Foo 2 def foo > 3 if cond? > 5 else 8 end 16 end ``` Part of the issue is that while scanning we're using newlines to determine when to stop and pause. This is useful for determining logically smaller chunks to evaluate but in this case it causes us to pause before grabbing the "end" that is right below the newline. This problem is similar to https://github.com/ruby/syntax_suggest/pull/179. However in the case of expanding same indentation "neighbors" I want to always grab all empty values at the end of the scan. I don't want to do that when changing indentation levels as it affects scan results. There may be some way to normalize this behavior between the two, but the tests really don't like that change. To fix this issue for expanding against different indentation I needed a way to first try and grab any additional newlines with the ability to rollback that guess. In #192 I experimented with decoupling scanning from the AroundBlockScan logic. It also added the ability to take a snapshot of the current scanner and rollback to prior changes. With this ability in place now we: - Grab extra empties before looking at the above/below line for the matching keyword/end statement - If there's a match, grab it - If there's no match, discard the newlines we picked up in the evaluation That solves the issue. https://github.com/ruby/syntax_suggest/commit/513646b912
2023-05-23[ruby/syntax_suggest] Refactor Scanner logic out of AroundBlockScan ↵schneems
introduce history AroundBlockScan started as a utility class that was meant to be used as a DSL for scanning and making new blocks. As logic got added to this class it became hard to reason about what exactly is being mutated when. I pulled the scanning logic out into it's own class which gives us a clean separation of concerns. This allowed me to remove a lot of accessors that aren't core to the logic provided by AroundBlockScan. In addition to this refactor the ScanHistory class can snapshot a scan. This allows us to be more aggressive with scans in the future as we can now snapshot and rollback if it didn't turn out the way we wanted. The change comes with a minor perf impact: before: 5.092678 0.104299 5.196977 ( 5.226494) after: 5.128536 0.099871 5.228407 ( 5.249542) This represents a 0.996x change in speed (where 1x would be no change and 2x would be twice as fast). This is a 0.38% decrease in performance which is negligible. It's likely coming from the extra blocks being created while scanning. This is negligible and if the history feature works well we might be able to make better block decisions which is means fewer calls to ripper which is the biggest bottleneck. While this doesn't fix https://github.com/ruby/syntax_suggest/issues/187 it's a good intermediate step that will hopefully make working on that issue easier. https://github.com/ruby/syntax_suggest/commit/ad8487d8aa
2023-05-23[ruby/syntax_suggest] Fix warning messageschneems
The env var DEBUG does not work to produce detailed output. It is SYNTAX_SUGGEST_DEBUG. It was changed as part of the dead_end to syntax_suggest migration for Ruby 3.2 https://github.com/ruby/syntax_suggest/commit/c41da7aab7
2023-05-20[ruby/reline] Bump version to 0.3.4ima1zumi
(https://github.com/ruby/reline/pull/538) https://github.com/ruby/reline/commit/1fb0753bc1
2023-05-19[ruby/irb] Simplify each_top_level_statementtomoya ishida
(https://github.com/ruby/irb/pull/576) * Simplify each_top_level_statement, reduce instance vars * Update lib/irb/ruby-lex.rb Co-authored-by: Stan Lo <[email protected]> * Remove unused ltype from TestRubyLex#check_state response * Remove unnecessary const path of TerminateLineInput * Combine duplicated code state check into method --------- https://github.com/ruby/irb/commit/172453cec4 Co-authored-by: Stan Lo <[email protected]>
2023-05-19[ruby/irb] Display mod key as `Option` on Darwin platformsAdam Daniels
(https://github.com/ruby/irb/pull/584) Check RUBY_PLATFORM for `darwin` and modify the mod key from `Alt` to `Option`.
2023-05-18[ruby/irb] Refactor RubyLex's input/io methodsStan Lo
(https://github.com/ruby/irb/pull/583) 1. Make `RubyLex#set_input` simply assign the input block. This matches the behavior of `RubyLex#set_prompt`. 2. Merge `RubyLex#set_input`'s IO configuration logic with `#set_auto_indent` into `#configure_io`.
2023-05-18[ruby/irb] Print deprecation warning for `help` commandStan Lo
(https://github.com/ruby/irb/pull/567) * Give show_doc its own command class * Print deprecation warning for `help` command
2023-05-13[rubygems/rubygems] Bump up thor-1.2.2Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/d9a003b4e7
2023-05-10Merge https://github.com/rubygems/rubygems/pull/6655 manually.Hiroshi SHIBATA
2023-05-10Update SPDX license listSamuel Giddins
2023-05-08[rubygems/rubygems] Simplify code by Gem::Specification#runtime_dependenciesTakumasa Ochi
https://github.com/rubygems/rubygems/commit/324139af8f
2023-05-07[ruby/reline] Fix dialog corrupts rendering by pushing up input linetomoya ishida
too much (https://github.com/ruby/reline/pull/524) * Do not render dialog where it overflows screen * Dialog rendering should Scroll down only when needed * Refactor screen_y_range calculation Co-authored-by: Stan Lo <[email protected]> --------- https://github.com/ruby/reline/commit/bc0e3d1310 Co-authored-by: Stan Lo <[email protected]>
2023-05-06[ruby/rdoc] Isolate root dir if specifiedzzak
This ensures only files from the root directory are chosen, in order to allow a clean build from outside the source directory. https://github.com/ruby/rdoc/commit/f3b389aa9e
2023-05-05[ruby/rdoc] Drop the support for 2.5 or earlier because of CVE-2021-31799Nobuyoshi Nakada
https://github.com/ruby/rdoc/commit/26136138aa
2023-05-05Redirect to `IO::NULL` for the portabilityNobuyoshi Nakada
2023-05-02[ruby/rdoc] [DOC] stop documenting fallback `MatchData#match_length`Nobuyoshi Nakada
Also empty document of `Object`. https://github.com/ruby/rdoc/commit/ce32a3102b
2023-05-02[ruby/rdoc] Section may not have `label`Nobuyoshi Nakada
https://github.com/ruby/rdoc/commit/945f0cb3e9
2023-05-02[ruby/rdoc] Fix references to nested label in table_of_contentsNobuyoshi Nakada
Fixes https://github.com/ruby/rdoc/pull/1000 https://github.com/ruby/rdoc/commit/291e2b7e8b
2023-05-01[ruby/reline] Rewrite dialog renderingtomoya ishida
(https://github.com/ruby/reline/pull/492) * Rewrite dialog rendering * Fix failing test of dialog with small screen * Add multiple-dialog rendering test * Add description comments for each part of render_dialog_changes
2023-05-01Update generate_spdx_license_list.rbNobuyoshi Nakada
- Follow up RegexpLiteral at 9264d834215aa7ce14b0273032a7686c20141db9. - Split the code to be generated so that `REGEXP` does not need escapes. - Use `REGEXP.match?` since support for Ruby 2.3 or earlier has been dropped.
2023-04-29[ruby/rdoc] Fix polynominal backtrackingNobuyoshi Nakada
Fix https://github.com/ruby/rdoc/pull/995 https://github.com/ruby/rdoc/commit/1311ca8c50
2023-04-29[ruby/rdoc] Fix polynominal backtrackingNobuyoshi Nakada
Fix https://github.com/ruby/rdoc/pull/995 https://github.com/ruby/rdoc/commit/adfa7db5b9
2023-04-28[ruby/irb] Retire magic-file.rbStan Lo
(https://github.com/ruby/irb/pull/574) `MagicFile` was introduced around v0.9.6, which was like 14~15 years ago. It was needed because back then we needed to read a file's magic comment to determine the encoding of it, and read it with that encoding. Commit: 3ee79e89 But now we expect files to be encoded in UTF-8 and don't specify encoding through magic comments anymore, `MagicFile` can be retired.
2023-04-28Update an Intel SDM link [ci skip]Takashi Kokubun
2023-04-28[ruby/resolv] Prefer `Array#concat` over `#+=` on `Array`Nobuyoshi Nakada
Fix https://bugs.ruby-lang.org/issues/19621 https://github.com/ruby/resolv/commit/7faaa78847
2023-04-27[ruby/irb] Simplify Locale#loadStan Lo
(https://github.com/ruby/irb/pull/571) * Simplify Locale#load Instead of loading file content with `MagicFile` and then evaluting it, we can just use `Kernel.load` to load the file. * Remove unused optional argument * Remove unused Locale#require and #toplevel_load
2023-04-27[ruby/irb] Stop using MagicFile for printing help messagesStan Lo
(https://github.com/ruby/irb/pull/573) `MagicFile` was introduced around v0.9.6, which was like 14~15 years ago. It was needed because back then we needed to read a file's magic comment to determine the encoding of it, and read it with that encoding. Commit: https://github.com/ruby/irb/commit/3ee79e89adb8e21b63d796e53bcc86281685076d But now both EN and JA's help-message file are UTF-8 and have removed the encoding comment, we don't need to open them with `MagicFile` anymore.
2023-04-26RJIT: Fix unspecified_bits with localsTakashi Kokubun
2023-04-26[ruby/irb] Remove encoding_aliases.rbStan Lo
(https://github.com/ruby/irb/pull/569) We don't have to load another file to define the legacy encoding aliases map because there's only one definition of it. We can define it in locale.rb directly.
2023-04-26[ruby/irb] Fix Locale's encoding lookup for Japanese encodingsStan Lo
(https://github.com/ruby/irb/pull/568) In https://github.com/ruby/irb/commit/3ee79e89adb8e21b63d796e53bcc86281685076d, `encoding_aliases.rb` was introduced to return the correct encoding object for `ujis` and `euc` encodings. However, the return value of `@@legacy_encoding_alias_map[@encoding_name]` is always overridden by a second look up with `Encoding.find(@encoding_name)`. So the logic didn't work as expected. This commit fixes the problem.
2023-04-25[ruby/syntax_suggest] Clean up outputschneems
I previously left a comment stating I didn't know why a certain method existed. In investigating the code in `CaptureCodeContext#capture_before_after_kws` I found that it was added as to give a slightly less noisy output. The docs for AroundBlockScan#capture_neighbor_context only describe keywords as being a primary concern. I modified that code to only include lines that are keywords or ends. This reduces the output noise even more. This allows me to remove that `start_at_next_line` method. One weird side effect of the prior logic is it would cause this code to produce this output: ``` class OH def hello def hai end end ``` ``` 1 class OH > 2 def hello 4 def hai 5 end 6 end ``` But this code to produce this output: ``` class OH def hello def hai end end ``` ``` 1 class OH > 2 def hello 4 end 5 end ``` Note the missing `def hai`. The only difference between them is that space. With this change, they're now both consistent. https://github.com/ruby/syntax_suggest/commit/4a54767a3e