sass/libsass — pull request #403 by pornel (2014-06-11 16:51:46+00:00)
Title: Preserve linebreaks between selectors

Ruby sass preserves lines, so:

```css
.foo, .bar,
.baz {
}
```

is generated with selectors split into lines the same way. This patch tries to do the same.

This change makes `Selector_List` indent itself instead of relying on indentation emitted earlier.

Line break is detected by observing `source_position.line` (I've tried to modify tokenization to have something like `lex < spaces_and_comments_without_newline >`, but that turned out to be too tricky, I guess other tokens implicitly consume newlines).

One annoyance is that in couple of places the library re-parses its own output to "restructure parent nodes correctly", so inspection of `Complex_Selector` needs to emit newlines as well, otherwise they get lost in reparsing.