Skip to content

Prism::Translation::ParserCurrent drops characters when parsing a string with a literal newline #4113

@Slike9

Description

@Slike9

The parsed Ruby code (a string literal with a literal newline):

"A
B\nCC"

Parser gem (Expected)

 $ bundle exec ruby -r'parser/ruby34' -ve 'p Parser::Ruby34.parse("\"A\nB\\nCC\"")'
ruby 3.4.5 (2025-07-16 revision 20cda200d3) +PRISM [x86_64-linux]
s(:dstr,
  s(:str, "A\n"),
  s(:str, "B\nCC"))

Prism::Translation::Parser (Actual)

 $ bundle exec ruby -Ilib -rprism -ve 'p Prism::Translation::Parser34.parse("\"A\nB\\nCC\"")'
ruby 3.4.5 (2025-07-16 revision 20cda200d3) +PRISM [x86_64-linux]
s(:dstr,
  s(:str, "A\n"),
  s(:str, "B\n"))

CC characters were dropped.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions