Repeated newlines in multi-line strings are ignored
sjahu opened this issue · 0 comments
sjahu commented
(Moved from pry/pry#2227 because it seems like this is a behaviour introduced by pry-byebug, not one that exists in pry on its own.)
When multiline strings are entered in the interpreter, repeated newlines are ignored and compacted to a single newline. This behaviour is inconsistent with how multi-line strings are handled by the ruby parser and by irb (see example below).
Pry results, missing newlines:
[14] pry(main)> <<ASDF
[14] pry(main)* 1
[14] pry(main)*
[14] pry(main)*
[14] pry(main)*
[14] pry(main)*
[14] pry(main)* 2
[14] pry(main)*
[14] pry(main)*
[14] pry(main)*
[14] pry(main)*
[14] pry(main)* 4
[14] pry(main)*
[14] pry(main)*
[14] pry(main)*
[14] pry(main)*
[14] pry(main)* 5
[14] pry(main)* ASDF
=> "1\n2\n4\n5\n"
[15] pry(main)> %q(
[15] pry(main)* 1
[15] pry(main)*
[15] pry(main)*
[15] pry(main)*
[15] pry(main)*
[15] pry(main)* 2
[15] pry(main)*
[15] pry(main)*
[15] pry(main)*
[15] pry(main)*
[15] pry(main)* 4
[15] pry(main)* )
=> "\n1\n2\n4\n"
[16] pry(main)> "
[16] pry(main)*
[16] pry(main)*
[16] pry(main)*
[16] pry(main)*
[16] pry(main)* 3
[16] pry(main)*
[16] pry(main)*
[16] pry(main)*
[16] pry(main)*
[16] pry(main)* 5
[16] pry(main)*
[16] pry(main)*
[16] pry(main)*
[16] pry(main)*
[16] pry(main)* 3"
=> "\n3\n5\n3"
[17] pry(main)>
irb results, as expected:
irb(main):029:0> "
irb(main):030:0"
irb(main):031:0"
irb(main):032:0"
irb(main):033:0" d
irb(main):034:0"
irb(main):035:0"
irb(main):036:0"
irb(main):037:0" a
irb(main):038:0"
irb(main):039:0"
irb(main):040:0"
irb(main):041:0"
irb(main):042:0" s
irb(main):043:0"
irb(main):044:0"
irb(main):045:0"
irb(main):046:0" f"
=> "\n\n\n\nd\n\n\n\na\n\n\n\n\ns\n\n\n\nf"