Project

General

Profile

Actions

Bug #11990

closed

Dedenting heredoc interacts poorly with string concatenation

Added by whitequark (whitequark *) almost 9 years ago. Updated over 8 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
[ruby-core:72857]

Description

The following code reproduces the problem:

p <<~E "  y"
  x
E

It prints "x\ny", but the second string is not dedenting. It should print "x\n y".

Updated by whitequark (whitequark *) almost 9 years ago

  • Description updated (diff)
Actions #2

Updated by nobu (Nobuyoshi Nakada) almost 9 years ago

  • Status changed from Open to Closed

Applied in changeset r53541.


parse.y: should not deent concatenated string

  • parse.y (string1): reset heredoc indent fore each string leteral
    so that concatenated string would not be dedented.
    [ruby-core:72857] [Bug #11990]

Updated by nagachika (Tomoyuki Chikanaga) almost 9 years ago

  • Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED

Updated by naruse (Yui NARUSE) over 8 years ago

  • Backport changed from 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONE

ruby_2_3 r54399 merged revision(s) 53541,53555,53570.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0