summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-12-15[rubygems/rubygems] Fix broken link to license fileStan Lo
https://github.com/rubygems/rubygems/commit/76cb4aad70
2024-12-15[ruby/rdoc] Hide hamburger on desktopJames Reid-Smith
(https://github.com/ruby/rdoc/pull/1237) * Clean up the duplicate definitions and unnecessary print styling * Hides the navigation toggle when there's enough room to always display the navigation * Update lib/rdoc/generator/template/darkfish/css/rdoc.css --------- https://github.com/ruby/rdoc/commit/c6193bf1e2 Co-authored-by: Stan Lo <stan001212@gmail.com>
2024-12-15[ruby/rdoc] Fix iPad Pro navigation not shownJames Reid-Smith
(https://github.com/ruby/rdoc/pull/1236) Found this issue when I was debugging the navigation toggle. I noticed it first in the chrome dev tools, but it was also reproducible on an iPad Pro. Symptom: - On iPad Pro, the navigation section is hidden but there's enough space to show it. Making the user have to click the hamburger button to show it but it's not necessary to hide the navigation section. - On desktop, the navigation section is shown. - On mobile, the navigation section is hidden until the hamburger button is clicked. Fix: - The javascript code was matching 1024px instead of 1023px. The media sections of the css was altering the layout on 1024px. So ipad got the full desktop layout but the navigation section was hidden. https://github.com/ruby/rdoc/commit/1794e59755
2024-12-15[ruby/reline] Refactor Reline::Unicode ed_ vi_ em_ methodstomoya ishida
(https://github.com/ruby/reline/pull/720) * Refactor Reline::Unicode vi_ ed_ em_ methods * Make Reline::Unicode's vi_ ed_ em_ method encoding safe https://github.com/ruby/reline/commit/cdd7288978
2024-12-15[Bug #20940] [PRISM] Support NO_COLORNobuyoshi Nakada
Also use bold/faint SGR when possible. Notes: Merged: https://github.com/ruby/ruby/pull/12329
2024-12-15[Bug #20951] [DOC] About UTC offset calculation after `utc_to_local`Nobuyoshi Nakada
2024-12-15[DOC] Sort the NEWS entries alphabeticallyNobuyoshi Nakada
2024-12-15[Bug #20927] Fix compile_shareable_literal_constant for hash with keyword splattompng
Compilation of NODE_HASH in compile_shareable_literal_constant does not support hash that contains keyword splat. If there is a keyword splat, fallback to default case. Notes: Merged: https://github.com/ruby/ruby/pull/12338
2024-12-15Fix links to syntax/literals.rdocStan Lo
Notes: Merged: https://github.com/ruby/ruby/pull/12348
2024-12-15Fix broken links to `Socket.tcp_fast_fallback=`Stan Lo
Since it's a singleton method, it should be referenced as `Socket.tcp_fast_fallback=`, not `Socket#tcp_fast_fallback=`. Notes: Merged: https://github.com/ruby/ruby/pull/12348
2024-12-15Add date to doc/.documentStan Lo
Otherwise, dozens of links to date/calendars.rdoc will still be broken after https://github.com/ruby/date/pull/113 Notes: Merged: https://github.com/ruby/ruby/pull/12346
2024-12-15[ruby/date] Fix broken rdoc-ref to the calendar pageStan Lo
https://github.com/ruby/date/commit/cb52e64be1
2024-12-15Update NEWS.md for `Socket.tcp` and `TCPSocket.new` (#12347)Misaki Shioi
Notes: Merged-By: shioimm <shioi.mm@gmail.com>
2024-12-14[ruby/irb] Fix broken rdoc-ref caused by a typoStan Lo
(https://github.com/ruby/irb/pull/1049) https://github.com/ruby/irb/commit/cdc88fe87f
2024-12-14[ruby/rdoc] Fix dead links in the markup reference pageStan Lo
(https://github.com/ruby/rdoc/pull/1242) https://github.com/ruby/rdoc/commit/d1cb9dc3c4
2024-12-14Extract `NUM2WV` macroNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/12345
2024-12-14Improve APIs for Globally Enabling/Disabling fast_fallback in Socket (#12257)Misaki Shioi
This change includes the following updates: - Added an environment variable `RUBY_TCP_NO_FAST_FALLBACK` to control enabling/disabling fast_fallback - Updated documentation and man pages - Revised the implementation of Socket.tcp_fast_fallback= and Socket.tcp_fast_fallback, which previously performed dynamic name resolution of constants and variables. As a result, the following performance improvements were achieved: (Case of 1000 executions of `TCPSocket.new` to the local host) Rehearsal ----------------------------------------- before 0.031462 0.147946 0.179408 ( 0.249279) after 0.031164 0.146839 0.178003 ( 0.346935) -------------------------------- total: 0.178003sec user system total real before 0.027584 0.138712 0.166296 ( 0.233356) after 0.025953 0.127608 0.153561 ( 0.237971) Notes: Merged-By: shioimm <shioi.mm@gmail.com>
2024-12-14[DOC] Fix grammar errors, typos, and improve readability of string.rbStan Lo
Because this file's comments have one extra space after the `#` sign, almost every line is updated. IMO, it's better to address this issue in one go. Co-authored-by: Jeremy Evans <code@jeremyevans.net> Notes: Merged: https://github.com/ruby/ruby/pull/12151 Merged-By: jeremyevans <code@jeremyevans.net>
2024-12-13Fix incorrect rdoc-ref links in array.rbStan Lo
Notes: Merged: https://github.com/ruby/ruby/pull/12344
2024-12-13[PRISM] Blocks are also a syntax error in array assignmentMatt Valentine-House
Actually close [Bug #20952] Notes: Merged: https://github.com/ruby/ruby/pull/12343
2024-12-13Fix threads stuck as zombie under M:NJohn Hawthorn
In this case thread_sched_switch0 never returns, so we would never end up setting finished to true. Fixes [Bug #20638] Notes: Merged: https://github.com/ruby/ruby/pull/12080
2024-12-13[PRISM] using []= to set kwargs is a syntax errorMatt Valentine-House
Fixes [Bug #20952] Notes: Merged: https://github.com/ruby/ruby/pull/12342
2024-12-13[DOC] [Feature #20205] Document the new power of String#+@Alan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/12341
2024-12-13[DOC] NEWS: Mention String#+@ change with chilled stringAlan Wu
From experience, a not insignificant number of people run into this when trying upgrade. Also it's good to bring up `+@` because it's relevant in general to the topic. [Feature #20205] Notes: Merged: https://github.com/ruby/ruby/pull/12341
2024-12-13[DOC] NEWS: Drop code quotes to get RDoc crossrefAlan Wu
But leave constants alone because of https://github.com/ruby/rdoc/issues/1011
2024-12-13[DOC] Have RDoc pick up Fiber::Scheduler#blocking_operation_waitAlan Wu
... and list it.
2024-12-13[DOC] Improve array.rb documentation (#12340)Alex Rocha
* Fix grammar errors, typos, and improve readability of array.rb * [DOC] Remove an extra space --------- Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2024-12-13[DOC] Fix incorrect `Array#fetch_values` examples (#12337)Kouhei Yanagita
[DOC] Fix incorrect Array#fetch_values examples Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2024-12-13[ruby/irb] Avoid generating documentation pages for internalStan Lo
components (https://github.com/ruby/irb/pull/1047) https://github.com/ruby/irb/commit/f57025a35e
2024-12-13Update default gems list at 598c6cfe80242e4392338881f46bf7 [ci skip]git
2024-12-13[ruby/rdoc] Bump version to v6.9.0Stan Lo
https://github.com/ruby/rdoc/commit/dba9474732
2024-12-13YJIT: Speculate block arg for `c_func_method(&nil)` calls (#12326)Alan Wu
A good amount of call sites always pass nil as block argument, but the nil doesn't show up in the context. Put a runtime guard for those cases to handle it. Particular relevant for the `ruby-lsp` benchmark in `yjit-bench`. Up to a 2% speedup across headline benchmarks. Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Co-authored-by: Kevin Menard <kevin@nirvdrum.com> Co-authored-by: Randy Stauner <randy.stauner@shopify.com> Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2024-12-13Fix use-after-free in ep in Proc#dup for ifunc procsPeter Zhu
[Bug #20950] ifunc proc has the ep allocated in the cfunc_proc_t which is the data of the TypedData object. If an ifunc proc is duplicated, the ep points to the ep of the source object. If the source object is freed, then the ep of the duplicated object now points to a freed memory region. If we try to use the ep we could crash. For example, the following script crashes: p = { a: 1 }.to_proc 100.times do p = p.dup GC.start p.call rescue ArgumentError end This commit changes ifunc proc to also duplicate the ep when it is duplicated. Notes: Merged: https://github.com/ruby/ruby/pull/12319
2024-12-13[rubygems/rubygems] Fix restarting with locked version when $PROGRAM_NAME ↵Camden Narzt
has been changed Use Process.argv0 instead of $PROGRAM_NAME because $PROGRAM_NAME is liable to be changed but Process.argv0 is not. https://github.com/rubygems/rubygems/commit/43b747dc9e
2024-12-13Bundle typeprof 0.30.0Yusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/12332
2024-12-13Add a note about `Symbol#to_s` returning a chilled string in NEWSJean Boussier
Notes: Merged: https://github.com/ruby/ruby/pull/12334
2024-12-13Update NEWS.md with Time#xmlschema, Array#fetch_values and ↵Jean Boussier
String#append_as_bytes Notes: Merged: https://github.com/ruby/ruby/pull/12334
2024-12-13followup 0bdb38ba6be208064a514c12a9b80328645689f8Koichi Sasada
(forgot to amend...) Notes: Merged: https://github.com/ruby/ruby/pull/12331
2024-12-13Launchable: Refactor entrypoint.sh (#12314)Naoto Ono
* Use `launchable record session` command to split test sessions based on test suites. * Use BTESTS env instead of RUBY_TESTOPTS for passing CLI option to `make btest`. * Group Launchable logs * Add several flavors to identify the relationship between test session and GH workflow. Notes: Merged-By: ono-max <onoto1998@gmail.com>
2024-12-13Fixed compatibility error with setup command and rdoc plugin on rubygemsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/12330
2024-12-13Removed unnecessary plugin file in ruby/ruby repositoryHiroshi SHIBATA
2024-12-13Make it loose coupling between RubyGems and RDoc (#1171)mterada1228
* Make it loose coupling between RubyGems and RDoc \### Problems There are following problems because of tight coupling between RubyGems and RDoc. 1. If there are braking changes in RDoc, RubyGems is also broken. 2. When we maintain RDoc, we have to change RubyGems. The reason why they are happened is that RubyGems creates documents about a gem with installing it. Note that RubyGems uses functions of RDoc to create documents. Specifically, - Creating documents is executed by `rubygems/lib/rubygems/rdoc.rb`. - `::RDoc::RubygemsHook` which is defined by RDoc is called by the file. \### Solution RubyGems has the plugin system. If a gem includes `rubygems_plugin.rb`, RubyGems loads it. RubyGems executes a process defined in it while installing gems, uninstalling gems or other events. We can use the system to solve the problems. The root cause is RubyGems directly references the class of RDoc. We can remove the root cause by making RDoc RubyGems plugin. Alternatively `rubygems_plugin.rb` creates documents about gems. \### FAQ Q1. Do we need to change codes of RubyGems? A. No, we don't. This change keeps compatibility of API used from RubyGems. Q2. Is it better to delete existing codes related to RDoc in RubyGems? No, it isn't. If we change codes of RubyGems, we can't keep a compatibility. Example: If we delete codes that uses `RDoc::RubygemsHook` in `rubygems/lib/rubygems/rdoc.rb`, documentations are not created with old RDoc. Q3. When can we delete `rubygems/lib/rubygems/rdoc.rb`? A. We can delete it when all users use RDoc including `rubygems_plugin`. Next ruby version is 3.4. If it includes the RDoc including `rubygems_plugin`, we can delete `rubygems/lib/rubygems/rdoc.rb` after ruby 3.3 is EOL. Q4. Is it a breaking change that Rubygems creates documents with rubygems_plugin not RDoc::RubygemsHook? A. No, it isn't. If we simply implement this approach, we move the implementation from `rdoc/lib/rdoc/rubygems_hook.rb` to `rubygems_plugin.rb`. This way can be breaking change. It seems to be fine that we just need to delete `rdoc/rubygems_hook.rb` but it doesn't work. It generates multiple documents. `rubygems/lib/rubygems/rdoc.rb` has the following code. ``` begin require "rdoc/rubygems_hook" # ... rescue LoadError end ``` This code ignores RDoc related processes when `rdoc/rubygems_hook` can't be required. But, this 'require' is not failed. This is because Ruby installs Rdoc as a default gem. So, Rdoc installed as a default gem generates documents and one installed as a normal gem does it too. If you think that this behavior is accectable, we can just delete `rdoc/rubygems_hook.rb`. What do you think about this approach? In this change, we take another approach to solve the problem that creates multiple documents. If `Gem.done_installing(&Gem::RDoc.method(:generation_hook))` in `rubygems/rdoc.rb` doesn't create documents, we can solve the problem. We have some options. * We change `rubygems/rdoc.rb` and then don't execute `Gem.done_installing`. (This is a change for RubyGems.) * We change `rdoc/rubygems_hook.rb` and then make `generation_hook` a no-op method. (This is a change for RDoc.) We choose the latter to avoid changing for RubyGems. \### Test \#### Preparation Install Rdoc which including our changes by executing `rake install`. ❯ rake install We confirmed that Rdoc which including our changes was installed. ❯ gem list | grep rdoc rdoc (6.6.0, default: 6.4.0) \#### Check point We tested to check compatibility. How to chack the compatibility? We tested creating same documents by our RDoc and old RDoc with latest RubyGems. We used following versions to test. ``` ❯ ruby -v ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin22] ❯ gem list | grep rdoc rdoc (default: 6.4.0) ❯ ruby -I rubygems/lib rubygems/exe/gem --version 3.5.14 ``` Here is a result of test with old RDoc. We can see that the document is created correctlly with `Parsing...` and `Done installing...`. ``` ❯ ruby -I rubygems/lib rubygems/exe/gem install pkg-config Successfully installed pkg-config-1.5.6 Parsing documentation for pkg-config-1.5.6 Done installing documentation for pkg-config after 0 seconds 1 gem installed ``` Here is a result of test with our RDoc. We can see that the document is created correctlly with `Parsing...` and `Done installing...`. ``` ❯ ruby -I rubygems/lib rubygems/exe/gem install pkg-config Successfully installed pkg-config-1.5.6 Parsing documentation for pkg-config-1.5.6 Done installing documentation for pkg-config after 0 seconds 1 gem installed ``` As you can see we got the same results, our RDoc keeps compatibility. * rename a test file * Revert "rename a test file" This reverts commit 70a144bf3fb8f2cc653972e858b5fed3747765d7. * revert a test class name * exclude `TestRDocRubyGemsHook` at job of ruby-core * When `rubygems_plugin.rb` is not found, `test_rdoc_rubygems_hook.rb` is skipped. * remove unnecessary whitespace * add comment * Add support for the case that RDoc is installed as a default gem * Fix problems Co-authored-by: mterada1228 <49284339+mterada1228@users.noreply.github.com> * Simplify * removed unused blank lines and revert test * for rerun tests * add comment for rubygems_plugin.rb --------- Co-authored-by: Sutou Kouhei <kou@clear-code.com> Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
2024-12-13[DOC] Update `rb_strlen_lit`Nobuyoshi Nakada
It is not "in bytes" for wide char literal.
2024-12-13Bump github/codeql-action from 3.27.7 to 3.27.9dependabot[bot]
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.7 to 3.27.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/babb554ede22fd5605947329c4d04d8e7a0b8155...df409f7d9260372bd5f19e5b04e83cb3c43714ae) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Notes: Merged: https://github.com/ruby/ruby/pull/12327
2024-12-13[DOC] Move the comma outside the `<tt>` tagNobuyoshi Nakada
2024-12-13Bump vendored uri to 1.0.2David Rodríguez
2024-12-13Bump vendored net-http to 0.6.0David Rodríguez
2024-12-13Bump vendored securerandom to 0.4.0David Rodríguez
2024-12-13[rubygems/rubygems] Add note about why we don't use `Open3`David Rodríguez
https://github.com/rubygems/rubygems/commit/72316ed2fa
2024-12-13[rubygems/rubygems] No need for `--quiet` since we hide output by defaultDavid Rodríguez
https://github.com/rubygems/rubygems/commit/77133a23f5