summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-29Remove not used fields from DOT2, DOT3, FLIP2, FLIP3yui-knk
2023-09-29Merge RNode_OP_ASGN2 and RNode_OP_ASGN22yui-knk
2023-09-29Remove not used fields from SELF, NIL, TRUE, FALSEyui-knk
2023-09-28[ruby/open3] [DOC] RDoc for Open3BurdetteLamar
https://github.com/ruby/open3/commit/457cae3a51
2023-09-28More documentation for pattern matching compilationKevin Newton
2023-09-28Support if and unless guards on patternsKevin Newton
2023-09-28Support local variable targeting in pattern matchingKevin Newton
2023-09-28Support the AlternationPatternNodeKevin Newton
2023-09-28Fill in other missing pattern matching expression typesKevin Newton
2023-09-28Compile basic pattern matching expressionsKevin Newton
2023-09-28[ruby/prism] Self should not be marked as static literalKevin Newton
https://github.com/ruby/prism/commit/81265ed8a7
2023-09-28[ruby/open3] [DOC] RDoc for Open3Peter Zhu
2023-09-28[ruby/prism] Turn on static literal for assoc, hash, and array nodesKevin Newton
https://github.com/ruby/prism/commit/80c2c931b5
2023-09-29Fix `retry` in nested `rescue` blocksNobuyoshi Nakada
Restore `rescue`-context from the outer context. `retry` targets the next outer block except for between `rescue` and `else` or `ensure`, otherwise, if there is no enclosing block, it should be syntax error.
2023-09-28Consolidate regexp options, interpolated match last lineKevin Newton
2023-09-28Move IO#readline to RubyAaron Patterson
This commit moves IO#readline to Ruby. In order to call C functions, keyword arguments must be converted to hashes. Prior to this commit, code like `io.readline(chomp: true)` would allocate a hash. This commits moves the keyword "denaturing" to Ruby, allowing us to send positional arguments to the C API and avoiding the hash allocation. Here is an allocation benchmark for the method: ``` x = GC.stat(:total_allocated_objects) File.open("/usr/share/dict/words") do |f| f.readline(chomp: true) until f.eof? end p ALLOCATIONS: GC.stat(:total_allocated_objects) - x ``` Before this commit, the output was this: ``` $ make run ./miniruby -I./lib -I. -I.ext/common -r./arm64-darwin22-fake ./test.rb {:ALLOCATIONS=>707939} ``` Now it is this: ``` $ make run ./miniruby -I./lib -I. -I.ext/common -r./arm64-darwin22-fake ./test.rb {:ALLOCATIONS=>471962} ``` [Bug #19890] [ruby-core:114803]
2023-09-29[DOC] Add linkNobuyoshi Nakada
2023-09-28Add a mention about Socket#recv in NEWS.mdJean Boussier
[Misc #19012]
2023-09-29Add indentation to ignore revs [ci skip]Nobuyoshi Nakada
2023-09-29Fix up indentation [ci skip]Nobuyoshi Nakada
2023-09-28[YARP] Implement MatchWriteNodeMatt Valentine-House
2023-09-28Fix order-dependent tests in test_compile_prismKevin Newton
2023-09-28[ruby/reline] Properly restore Reline::IOGate in test teardowntomoya ishida
(https://github.com/ruby/reline/pull/593) * Properly restore Reline::IOGate in test teardown * GeneralIO.reset should reset class variable existence https://github.com/ruby/reline/commit/c16d33dae5
2023-09-28Add indentation to ignore revsKevin Newton
2023-09-28Fix up indentation in prism_compile.cKevin Newton
2023-09-28Move CRuby-specific prism files to top levelKevin Newton
2023-09-28[ruby/prism] Check whether the predicate is closed for conditionalsHaldun Bayhantopcu
https://github.com/ruby/prism/commit/bf43006d0a
2023-09-28[ruby/prism] Check for a semicolon or a newline after the inheritance operatorHaldun Bayhantopcu
https://github.com/ruby/prism/commit/0326ba6775
2023-09-28[ruby/prism] Fix assertion failure for fwd params after restHaldun Bayhantopcu
https://github.com/ruby/prism/commit/f86bff6dd7
2023-09-28Requires ruby/rbs#1550Nobuyoshi Nakada
2023-09-28Syntax check of `yield` in the parserNobuyoshi Nakada
2023-09-28Jumps are possible in the top-level loopNobuyoshi Nakada
2023-09-28Suppress void context warnings in verbose modeNobuyoshi Nakada
2023-09-27[DOC] RDoc for Open3.popen3 (#8521)Burdette Lamar
2023-09-28Change RNode structure from union to structyui-knk
All kind of AST nodes use same struct RNode, which has u1, u2, u3 union members for holding different kind of data. This has two problems. 1. Low flexibility of data structure Some nodes, for example NODE_TRUE, don’t use u1, u2, u3. On the other hand, NODE_OP_ASGN2 needs more than three union members. However they use same structure definition, need to allocate three union members for NODE_TRUE and need to separate NODE_OP_ASGN2 into another node. This change removes the restriction so make it possible to change data structure by each node type. 2. No compile time check for union member access It’s developer’s responsibility for using correct member for each node type when it’s union. This change clarifies which node has which type of fields and enables compile time check. This commit also changes node_buffer_elem_struct buf management to handle different size data with alignment.
2023-09-28Update bundled gems list at 2023-09-28git
2023-09-28Bundle RBS 3.2.2Soutaro Matsumoto
2023-09-28[CI] Fix conditional for `RUBYOPT`Nobuyoshi Nakada
Since GitHub has no real ternary [operator], the second expression must be "truthy" value instead of an empty string which is evaluated as `0`. - Some bundler tests seem trying to install old Rack where `Rack::Utils.byte_ranges` method has been deprecated once. - Racc tests do not seem aware about warnings very well. [operator]: https://docs.github.com/actions/learn-github-actions/expressions#operators
2023-09-28[CI] Fix indentation to concatenate the lines and pass the optionsNobuyoshi Nakada
2023-09-28Suppress void context warningsNobuyoshi Nakada
2023-09-27[PRISM] Implement MatchLastLineNodeeileencodes
This PR implements `MatchLastLineNode` for Prism. Related: ruby/prism#1335
2023-09-27Use new constant pool layout for prismKevin Newton
2023-09-27[ruby/prism] rearrange the constant pool so IDs can be used for indexingNathan Froyd
https://github.com/ruby/prism/commit/6f243de0c7
2023-09-27[ruby/prism] shrink `yp_constant_t` by 8 bytesNathan Froyd
https://github.com/ruby/prism/commit/5c01eb5e6f
2023-09-27Make {Queue,SizedQueue}#freeze raise TypeErrorJeremy Evans
Fixes [Bug #17146]
2023-09-27[DOC] Fix minor inconsistenciesBurdetteLamar
2023-09-27Include recently added parse_test code in renameKevin Newton
2023-09-27Rename YARP symbols to prismKevin Newton
2023-09-27Sync to prism rename commitsKevin Newton
2023-09-27Rename YARP filepaths to prism filepathsKevin Newton