From 7c13afdeb7bb683ded67f9d1b5f74f2c3958f352 Mon Sep 17 00:00:00 2001
From: Nathan Weizenbaum
Date: Wed, 11 Jun 2008 12:40:52 -0700
Subject: [PATCH] Fix a buffer-tabulation bug involving <.
---
lib/haml/buffer.rb | 2 +-
test/haml/results/nuke_inner_whitespace.xhtml | 6 ++++++
test/haml/templates/nuke_inner_whitespace.haml | 6 ++++++
3 files changed, 13 insertions(+), 1 deletion(-)
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