Project

General

Profile

Bug #20938

Updated by eightbitraptor (Matt V-H) 10 days ago

The following code defines 2 programs that declare string literals using `%` and a single byte delimiter. I'd expect these programs to have the same output no matter which delimiter is used. 

 With Prism, both programs output the same value (the string content: `1_\n`), but using parse.y the output values differ depending on the delimiter. 

 Are the outputs supposed to be the same or different? 

 ``` 
 program1 = "%\n1_\r\n\n" # => parse.y: 1_, prism: "1_\n" 
 program2 = "%'1_\r\n'"     # => "1_\n" 

 p eval(program1) 
 p eval(program2) 
 ``` 

 [[Github Issue]](https://github.com/ruby/prism/pull/3290)

Back