summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-08Fix flaky test test_thrashing_for_young_objectsPeter Zhu
The test could be flaky when a heap has below GC_HEAP_INIT_SLOTS number of free slots because it would trigger a major GC and allocate more pages.
2022-10-08Fix typosyui-knk
Notes: Merged: https://github.com/ruby/ruby/pull/6515
2022-10-08Fix SEGV of dump parsetreeyui-knk
Assign internal_id to semantic value so that dump parsetree option can render the tree for these codes without SEGV. * `def m(&); end` * `def m(*); end` * `def m(**); end` Notes: Merged: https://github.com/ruby/ruby/pull/6514
2022-10-08[ruby/optparse] Don't treat empty string as an option descriptionMaciek Rząsa
https://github.com/ruby/optparse/commit/078638ee6d
2022-10-08"expr_value" can be erroryui-knk
So that "IF" node is kept in the case below ``` def m if end ``` [Feature #19013] Notes: Merged: https://github.com/ruby/ruby/pull/6512
2022-10-08Move `error` from top_stmts and top_stmt to stmtyui-knk
By this change, syntax error is recovered smaller units. In the case below, "DEFN :bar" is same level with "CLASS :Foo" now. ``` module Z class Foo foo. end def bar end end ``` [Feature #19013] Notes: Merged: https://github.com/ruby/ruby/pull/6512
2022-10-08Treat "end" as reserved word with consideration of indentyui-knk
"end" after "." or "::" is treated as local variable or method, see `EXPR_DOT_bit` for detail. However this "changes" where `bar` method is defined. In the example below it is not module Z but class Foo. ``` module Z class Foo foo. end def bar end end ``` [Feature #19013] Notes: Merged: https://github.com/ruby/ruby/pull/6512
2022-10-08Generates "end" tokens if parser hits end of inputyui-knk
but "end" tokens are needed for correct language. [Feature #19013] Notes: Merged: https://github.com/ruby/ruby/pull/6512
2022-10-08Support "+error-tolerant" as ruby optionyui-knk
[Feature #19013] Notes: Merged: https://github.com/ruby/ruby/pull/6512
2022-10-08Add error_tolerant option to RubyVM::ASTyui-knk
If this option is enabled, SyntaxError is not raised and Node is returned even if passed script is broken. [Feature #19013] Notes: Merged: https://github.com/ruby/ruby/pull/6512
2022-10-08Update bundled gems list at 2022-10-08git
2022-10-08Fix a typo Denail-of-Service => Denial-of-Service [ci skip]sampatbadhe
Notes: Merged: https://github.com/ruby/ruby/pull/6510
2022-10-08Try `nil` as default for 'default timeout'. (#6509)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-08[ruby/irb] Sort constant completion's candidatesst0012
https://github.com/ruby/irb/commit/ee9b33c817
2022-10-08[ruby/irb] Lazily evaluate candidates localsst0012
https://github.com/ruby/irb/commit/19a2fcbd87
2022-10-08[ruby/irb] Correct assert_equal's usage in completion testsst0012
https://test-unit.github.io/test-unit/en/Test/Unit/Assertions.html#assert_equal-instance_method https://github.com/ruby/irb/commit/00f90d40ad
2022-10-08[ruby/irb] Add constant completion testst0012
https://github.com/ruby/irb/commit/39f8fcb058
2022-10-08[ruby/irb] Regroup completion testsst0012
https://github.com/ruby/irb/commit/71631287c8
2022-10-08[ruby/irb] Add tests for primitive types' method completionst0012
https://github.com/ruby/irb/commit/2e12fac38e
2022-10-07Update NEWS about [Feature #18589]Alan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/6501
2022-10-07Add more debugging output to test_thrashing_for_young_objectsPeter Zhu
2022-10-08Add spec for `Coverage.supported?` and `start(eval: true)`. (#6499)Samuel Williams
* Don't emit coverage for eval when eval coverage is disabled. Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-07[ruby/logger] Fix the Logger::Formatter documentationlijunwei
https://github.com/ruby/logger/commit/db554fbda7
2022-10-07Simplify default argument specification. (#6507)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-07Add IO#timeout attribute and use it for blocking IO operations. (#5653)Samuel Williams
Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-10-07Update bundled gems list at c3a87e16d8edea1496eebc60d7514f [ci skip]git
2022-10-07Bundle RBS 2.7.0 (#6506)Soutaro Matsumoto
Notes: Merged-By: soutaro <matsumoto@soutaro.com>
2022-10-07Add --with-libffi-source-dir feature and removed --enable-bundled-libffi ↵Hiroshi SHIBATA
option. (#113) https://bugs.ruby-lang.org/issues/18571 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Co-authored-by: Sutou Kouhei <kou@clear-code.com>
2022-10-07[ruby/fiddle] test: don't use assert_true/assert_falseSutou Kouhei
GitHub: GH-102 They aren't available in ruby/ruby. https://github.com/ruby/fiddle/commit/ced671e43b
2022-10-07[ruby/fiddle] closure: follow variable name changeSutou Kouhei
GitHub: GH-102 https://github.com/ruby/fiddle/commit/2530496602
2022-10-07[ruby/fiddle] closure: free resources when an exception is raised in Closure.newSutou Kouhei
GitHub: GH-102 https://github.com/ruby/fiddle/commit/81a8a56239
2022-10-07[ruby/fiddle] test: ensure freeing closureSutou Kouhei
GitHub: GH-102 https://github.com/ruby/fiddle/commit/b2fef1770d
2022-10-07[ruby/fiddle] test: ensure freeing closureSutou Kouhei
GitHub: GH-102 This also improves freed closures assertions. https://github.com/ruby/fiddle/commit/0495624caf
2022-10-07[ruby/fiddle] test: don't use power-assertSutou Kouhei
It seems that we can't use it in ruby/ruby. https://github.com/ruby/fiddle/commit/e1221297fb
2022-10-07[ruby/fiddle] test: ensure freeing closureSutou Kouhei
GitHub: GH-102 This also improves freed closures assertions. https://github.com/ruby/fiddle/commit/f6431f3cf8
2022-10-07[ruby/fiddle] Add Fiddle::Closure.create and Fiddle::Closure.freeSutou Kouhei
GitHub: fix GH-102 It's for freeing a closure explicitly. We can't use Fiddle::Closure before we fork the process. If we do it, the process may be crashed with SELinux. See https://github.com/ruby/fiddle/issues/102#issuecomment-1241763091 for details. Reported by Vít Ondruch. Thanks!!! https://github.com/ruby/fiddle/commit/a0ccc6bb1b
2022-10-07[ruby/fiddle] test: suppress a warningSutou Kouhei
test/fiddle/test_import.rb:138: warning: ambiguous first argument; put parentheses or a space even after `-' operator https://github.com/ruby/fiddle/commit/060eef76ad
2022-10-07[ruby/fiddle] Add `sym_defined?` methods to test if a symbol is defined ↵Aaron Patterson
(https://github.com/ruby/fiddle/pull/108) I would like to check if a symbol is defined before trying to access it. Some symbols aren't available on all platforms, so instead of raising an exception, I want to check if it's defined first. Today we have to do: ```ruby begin addr = Fiddle::Handle.sym("something") # do something rescue Fiddle::DLError end ``` I want to write this: ```ruby if Fiddle::Handle.sym_defined?("something") addr = Fiddle::Handle.sym("something") # do something end ``` https://github.com/ruby/fiddle/commit/9d3371de13 Co-authored-by: Sutou Kouhei <kou@clear-code.com>
2022-10-07[ruby/fiddle] Move "type" constants to `Fiddle::Types` ↵Aaron Patterson
(https://github.com/ruby/fiddle/pull/112) This helps to reduce repetition in code. Instead of doing "TYPE_*" everywhere, you can do `include Fiddle::Types`, and write the type name directly. This PR is to help reduce repetition when writing Fiddle code. Right now we have to type `TYPE_` everywhere, and you also have to include all of `Fiddle` to access `TYPE_*` constants. With this change, you can just include `Fiddle::Types` and it will shorten your code and also you only have to include those constants. Here is an example before: ```ruby require "fiddle" module MMAP # All Fiddle constants included include Fiddle def self.make_function name, args, ret ptr = Handle::DEFAULT[name] func = Function.new ptr, args, ret, name: name define_singleton_method name, &func.to_proc end make_function "munmap", [TYPE_VOIDP, # addr TYPE_SIZE_T], # len TYPE_INT make_function "mmap", [TYPE_VOIDP, TYPE_SIZE_T, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT], TYPE_VOIDP make_function "mprotect", [TYPE_VOIDP, TYPE_SIZE_T, TYPE_INT], TYPE_INT end ``` After: ```ruby require "fiddle" module MMAP # Only type names included include Fiddle::Types def self.make_function name, args, ret ptr = Fiddle::Handle::DEFAULT[name] func = Fiddle::Function.new ptr, args, ret, name: name define_singleton_method name, &func.to_proc end make_function "munmap", [VOIDP, # addr SIZE_T], # len INT make_function "mmap", [VOIDP, SIZE_T, INT, INT, INT, INT], VOIDP make_function "mprotect", [VOIDP, SIZE_T, INT], INT end ``` We only need to import the type names, and you don't have to type `TYPE_` over and over. I think this makes Fiddle code easier to read. https://github.com/ruby/fiddle/commit/49fa7233e5 Co-authored-by: Sutou Kouhei <kou@clear-code.com>
2022-10-07[ruby/fiddle] Add constants for unsigned values ↵Aaron Patterson
(https://github.com/ruby/fiddle/pull/111) This commit adds constants for unsigned values. Currently we can use `-` to mean "unsigned", but I think having a specific name makes Fiddle more user friendly. This commit continues to support `-`, but introduces negative constants with "unsigned" names I think this will help to eliminate [this code](https://github.com/ruby/ruby/blob/3a56bf0bcc66e14ffe5ec89efc32ecfceed180f4/lib/mjit/c_type.rb#L31-L38) https://github.com/ruby/fiddle/commit/2bef0f1082 Co-authored-by: Sutou Kouhei <kou@clear-code.com>
2022-10-07[ruby/fiddle] test: ensure GC-ing closuresSutou Kouhei
GitHub: fix GH-102 We can't use Fiddle::Closure before we fork the process. If we do it, the process may be crashed with SELinux. See https://github.com/ruby/fiddle/issues/102#issuecomment-1241763091 for details. Reported by Vít Ondruch. Thanks!!! https://github.com/ruby/fiddle/commit/1343ac7a95
2022-10-07[ruby/date] Fix misplaced time zone offset checksNobuyoshi Nakada
https://github.com/ruby/date/commit/d21c69450a
2022-10-07[ruby/psych] Removed the related condition of --enable-bundled-libyamlHiroshi SHIBATA
https://github.com/ruby/psych/commit/7c211a43c1
2022-10-07[ruby/psych] --enable-bundled-libyaml config has been removedHiroshi SHIBATA
https://github.com/ruby/psych/commit/447d372dcd
2022-10-07[ruby/rdoc] Special characters are prohibited as filename on WindowsNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/13b9da5932
2022-10-07[ruby/rdoc] Escape search resultsNobuyoshi Nakada
https://hackerone.com/reports/1321358 https://github.com/ruby/rdoc/commit/2ebf8fd510
2022-10-07[ruby/rdoc] Escape file namesNobuyoshi Nakada
https://hackerone.com/reports/1321358 https://github.com/ruby/rdoc/commit/8c07cc4657
2022-10-07[ruby/rdoc] Escape main titleNobuyoshi Nakada
https://hackerone.com/reports/1187156 https://github.com/ruby/rdoc/commit/5dedb5741d
2022-10-07[ruby/rdoc] Escape HYPERLINKsNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/ac35485be6
2022-10-07[ruby/rdoc] Escape RDOCLINKsNobuyoshi Nakada
https://hackerone.com/reports/1187156 https://github.com/ruby/rdoc/commit/7cecf1efae