summaryrefslogtreecommitdiff
path: root/test/ruby/test_parse.rb
AgeCommit message (Collapse)Author
2024-07-15merge revision(s) d503e1b95a40e45d7767e0175de60092de4ba54e: [Backport #20030]nagachika
[Bug #20030] dispatch invalid escaped character without ignoring it
2023-11-10merge revision(s) 17b0643392749f45b7aacb64fc1c1bd704d42b4c: [Backport #19924]nagachika
[Bug #19924] Source code should be unsigned char stream Use `peekc` or `nextc` to fetch the next character, instead of reading from `lex.pcur` directly, for compilers that plain char is signed. --- parse.y | 10 +++++----- test/ruby/test_parse.rb | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-)
2023-07-17merge revision(s) 1bc8838d60ef3fc6812d3b64ed87caaf0ae943d9: [Backport #19750]nagachika
Handle unterminated unicode escapes in regexps This fixes an infinite loop possible after ec3542229b29ec93062e9d90e877ea29d3c19472. For \u{} escapes in regexps, skip validation in the parser, and rely on the regexp code to handle validation. This is necessary so that invalid unicode escapes in comments in extended regexps are allowed. Fixes [Bug #19750] Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> --- parse.y | 97 ++++++++++++++++++++++++++++++++----------------- test/ruby/test_parse.rb | 16 ++++++++ 2 files changed, 79 insertions(+), 34 deletions(-)
2022-07-08[Bug #18890] Suppress warnings and fix the messageNobuyoshi Nakada
``` test/ruby/test_parse.rb:1384: warning: assigned but unused variable - obj test/ruby/test_pattern_matching.rb:1162: warning: unused literal ignored test/ruby/test_pattern_matching.rb:1165: warning: unused literal ignored test/ruby/test_pattern_matching.rb:1161: warning: assigned but unused variable - a test/ruby/test_pattern_matching.rb:1164: warning: assigned but unused variable - b ``` And a newline should be significant here.
2022-07-06[Bug #18890] newline should be insignificant after pattern labelNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6087
2022-06-30[Bug #18877] Let `lex_ctxt` not to eat escaped whitespaceNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6065
2022-06-29[Bug #18884] `class` cannot be just followed by modifiersNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6064 Merged-By: nobu <nobu@ruby-lang.org>
2022-04-21Private local variables should shadow outer variables [Bug #18629]Nobuyoshi Nakada
2021-11-18Anonymous block forwarding allows a method to forward a passedJeremy Evans
block to another method without having to provide a name for the block parameter. Implements [Feature #11256] Co-authored-by: Yusuke Endoh mame@ruby-lang.org Co-authored-by: Nobuyoshi Nakada nobu@ruby-lang.org Notes: Merged: https://github.com/ruby/ruby/pull/5051
2021-10-08Remove duplicate value checks on `mrhs` which always has the valueNobuyoshi Nakada
2021-10-05Show the last line at unexpected end-of-input errorNobuyoshi Nakada
2021-07-27test/ruby/test_parse.rb: Prevent an "unused variable" warningYusuke Endoh
2021-07-21Fix interpolated heredoceileencodes
This fixes https://bugs.ruby-lang.org/issues/18038. The provided reproduction showed that this happens in heredocs with double interpolation. In this case `DSTR` was getting returned but needs to be convered to a `EVSTR` which is what is returned by the function. There may be an additional bug here that we weren't able to produce. It seems odd that `STR` returns `DSTR` while everything else should return `EVSTR` since the function is `new_evstr`. [Bug #18038][ruby-core:104597] Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/4664
2021-05-13Also `\U` after control/meta is invalid [Bug #17861]Nobuyoshi Nakada
As well as `\u`, `\U` should be invalid there too. And highlight including `u`/`U` not only the backslash before it.
2021-03-23Ignore useless separators preceding a file encoding commentNobuyoshi Nakada
2021-03-23Assertion for colon-separated encoding pragmaNobuyoshi Nakada
2021-01-04Fixed error message when % at EOFNobuyoshi Nakada
2020-12-24shareable_constant_value: experimental_copyKoichi Sasada
"experimental_everything" makes the assigned value, it means the assignment change the state of assigned value. "experimental_copy" tries to make a deep copy and make copyied object sharable. Notes: Merged: https://github.com/ruby/ruby/pull/3989
2020-12-23Ensure non-literal expressions shareable if `leteral`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Update rb_ractor_ensure_shareableNobuyoshi Nakada
* Fixed use of rb_ractor_shareable_p * Raise Ractor::IsolationError Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Split the testNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Added assertionsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Added dedicated helper methodsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-23Changed shareable literal semantics [Feature #17397]Nobuyoshi Nakada
When `literal`, check if the literal about to be assigned to a constant is ractor-shareable, otherwise raise `Ractor::Error` at runtime instead of `SyntaxError`. Notes: Merged: https://github.com/ruby/ruby/pull/3950
2020-12-19Fixed not to make non-literal expression shareable [Feature #17273]Nobuyoshi Nakada
Non-literal expression which is not a part of a literal expression is not a subject of `shareable_literal_value: literal`.
2020-12-17test/ruby: Check warning messages at a finer granularityNobuyoshi Nakada
Instead of suppressing all warnings wholly in each test scripts by setting `$VERBOSE` to `nil` in `setup` methods. Notes: Merged: https://github.com/ruby/ruby/pull/3925 Merged-By: nobu <nobu@ruby-lang.org>
2020-12-14Support shareable_constant_value: literalNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3681
2020-12-14Make shareable_constant_value tri-stateNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3681
2020-12-14shareable_constant_value: is effective only in comment-only lineNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3681
2020-12-14Added continued line caseNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3681
2020-12-14Added false caseNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3681
2020-12-14Test by Ractor.shareable?Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3681
2020-12-14Make the value shareable deeplyNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3681
2020-12-14Implemented shareable_constant_valueNobuyoshi Nakada
It does shallow freeze only for now. Notes: Merged: https://github.com/ruby/ruby/pull/3681
2020-12-14Support shareable_constant_value pragmaNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3681
2020-08-26Fixed error messages at non-ascii %string terminatorNobuyoshi Nakada
2020-02-10Fixed duplicated warningNobuyoshi Nakada
As `command_rhs` is always a "value expression", `command_asgn` does not need the same check. Notes: Merged: https://github.com/ruby/ruby/pull/2897
2019-11-14`#@1` is no longer an embedded variableNobuyoshi Nakada
2019-11-11Revert "Warn EOF char in comment"NARUSE, Yui
This reverts commit 69ec3f70fab0c1c537c68fb135cc315181b1d750.
2019-11-11Revert "Elaborated EOF char message a little"NARUSE, Yui
This reverts commit 6eaac7cfac668d6669be694fd7b723c4982ed218.
2019-11-11Elaborated EOF char message a littleNobuyoshi Nakada
2019-11-11Warn EOF char in commentNobuyoshi Nakada
2019-11-11Fixed embedded document with EOF charNobuyoshi Nakada
2019-11-11Prefer assert_syntax_error and assert_valid_syntaxNobuyoshi Nakada
2019-10-23Use dedicated assertion methods for warning and syntax errorNobuyoshi Nakada
2019-07-07Message to pipe should end with a newlineNobuyoshi Nakada
2019-07-05Multiple codepoints are not allowed at single character literalNobuyoshi Nakada
It has unintentionally passed since 2.5.
2019-06-30Reset the result between assertionsNobuyoshi Nakada
2019-06-30Suppress unused variable warningsNobuyoshi Nakada
2019-06-29Should not warn massign parameters as unusedNobuyoshi Nakada