Better handling for tabs with message bubbles.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49001 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Rewrite/HTMLRewrite.cpp b/lib/Rewrite/HTMLRewrite.cpp
index f3371a0..f63b8e4 100644
--- a/lib/Rewrite/HTMLRewrite.cpp
+++ b/lib/Rewrite/HTMLRewrite.cpp
@@ -36,9 +36,10 @@
       default: break;
         
       case ' ':
-        if (EscapeSpaces) R.ReplaceText(Loc, 1, " ", 5);
+        if (EscapeSpaces) R.ReplaceText(Loc, 1, " ", 6);
         break;
 
+      case '\t': R.ReplaceText(Loc, 1, "    ", 6*4); break;
       case '<': R.ReplaceText(Loc, 1, "&lt;", 4); break;
       case '>': R.ReplaceText(Loc, 1, "&gt;", 4); break;
       case '&': R.ReplaceText(Loc, 1, "&amp;", 5); break;
@@ -60,10 +61,11 @@
         os << c; break;
         
       case ' ':
-        if (EscapeSpaces) os << "&#32;";
+        if (EscapeSpaces) os << "&nbsp;";
         else os << ' ';
         break;
         
+        case '\t': for (unsigned i = 0; i < 4; ++i) os << "&nbsp;"; break;
         case '<': os << "&lt;"; break;
         case '>': os << "&gt;"; break;
         case '&': os << "&amp;"; break;