diff --git a/lib/haml/buffer.rb b/lib/haml/buffer.rb index 09525163..1f60153f 100644 --- a/lib/haml/buffer.rb +++ b/lib/haml/buffer.rb @@ -114,7 +114,7 @@ module Haml result = html_escape(result) if escape_html has_newline = result.include?("\n") - if in_tag && (@options[:ugly] || !has_newline || preserve_tag) + if in_tag && !nuke_inner_whitespace && (@options[:ugly] || !has_newline || preserve_tag) @buffer << result @real_tabs -= 1 return diff --git a/test/haml/results/nuke_inner_whitespace.xhtml b/test/haml/results/nuke_inner_whitespace.xhtml index 290534b2..71d55d87 100644 --- a/test/haml/results/nuke_inner_whitespace.xhtml +++ b/test/haml/results/nuke_inner_whitespace.xhtml @@ -32,3 +32,9 @@ Bar

+

+ foo + + bar + +

diff --git a/test/haml/templates/nuke_inner_whitespace.haml b/test/haml/templates/nuke_inner_whitespace.haml index c6ba2b07..8eebd417 100644 --- a/test/haml/templates/nuke_inner_whitespace.haml +++ b/test/haml/templates/nuke_inner_whitespace.haml @@ -24,3 +24,9 @@ %div Foo Bar + +-# Regression test +%p + %q<= "foo" + %q{:a => 1 + 1} + bar