bugzilla.mozilla.org has resumed normal operation. Attachments prior to 2014 will be unavailable for a few days. This is tracked in Bug 1475801.
Please report any other irregularities here.

Tabs are replaced by spaces in email body in Thunderbird version 38.1.0



Message Compose Window
3 years ago
a year ago


(Reporter: Magma, Unassigned)


38 Branch

Firefox Tracking Flags

(Not tracked)




3 years ago
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36

Steps to reproduce:

I upgraded to Thunderbird version 38.1.0. Then I started to write a new message, including some tab characters, which separate the elements of an array, like this:
a	b
c	d

In other words, "a" tab "b" return "c" tab "d" 

Then I copied the array and pasted it into MS Word 2000, which was set to show all characters, so I can see any tabs that are present. 

Actual results:

In MS Word, I could see that each tab had been converted to 3 circular characters, which I do not recognize. The result was something like this: 
a    b
c    d
except that I've converted the circular characters to spaces. 

Expected results:

Thunderbird should have left the tabs as tabs, without converting them to something else. This important because I need to work with array data every day in Thunderbird. If the tabs are converted to other characters, the data becomes hard to work with in Excel and Access. Until this new version 38.1.0, Thunderbird never replaced tabs with other characters. Is it possible to fix this?

Comment 1

3 years ago
I'm on Windows 7.


3 years ago
Component: Untriaged → Message Compose Window
TB 31 also converts tabs to spaces in HTML compositions. Magma, in which version did it work for you?
It's true that editor converts tabs in HTML messages to spaces.

HTML <tab> tag, listed for HTML3 [1], apparently never really made it into browsers and I don't see this any more for HTML5. Otherwise &#09; represents tab character but I can't insert that using TB, Edit > HTML. Some discussion on the issue see link [2] below.

There are multiple ways of doing what you want in TB

1) For HTML messages:
- Instead of "Body Text" format, choose "Preformat", then real tabs will be accepted and shown in HTML.
- Use HTML tables: Insert > Table

2) Use plaintext messages
In plaintext messages, real tabs will be shown & accepted.
- to always compose in plaintext, uncheck Tools > Account settings > youraccount > composition & addressing > [ ] compose in html format
- for occasional plaintext, or hold Shift while clicking buttons to compose, to compose in plaintext when default is html

I'm inclined to think that's sufficient; if others agree this bug could be closed.

[1] http://www.w3.org/MarkUp/html3/tabs.html
[2] http://stackoverflow.com/questions/1571648/html-tab-space-instead-of-multiple-non-breaking-spaces-nbsp

Comment 3

3 years ago
I can reproduce this issue on Windows 7 (TB 38.1) but not on Linux (some fairly-recent nightly).

(In reply to Thomas D. from comment #2)
> In plaintext messages, real tabs will be shown & accepted.

Not so. It looks like they're accepted, but if you select the text and paste it somewhere else, you just get a single space instead. If you send the message, the tab is converted to 4 spaces. This second point also makes Thunderbird-on-Windows unusable for Linux kernel development: Linux kernel code indents with tabs, and to submit a patch, you must email the diff of your changes in-line with the message (no attachments!). Luckily, it seems ok on Linux, at least if you're on a nightly.
Ever confirmed: true


3 years ago
Keywords: regression

Comment 4

3 years ago
Plain text message: Tabs are inserted, they paste correctly elsewhere, at least on Windows. Typing a<tab>b I see 0x61 0x09 0x62 in my clipboard viewer and the tab pastes correctly into Notepad++

HTML: Typing a<tab>b I see this in the clipboard viewer:
Unicode Text: 61 20 20 20 20 62, so "a four spaces b".

Interesting is the HTML:
<!--StartFragment-->a    b<!--EndFragment-->
Pasting this into Word and switching on the "show hidden formatting symbols" I see "a°°° b".
Now, a non-breaking space is 0xC2 0xA0 in UTF-8, and (badly) interpreted by my clipboard viewer as ANSI/ISO-8859-1 we have 0xC2(Â) and 0xA0(NBSP).

So in summary (on Windows):
Plaintext: Tab is inserted.
HTML: three non-breaking spaces are inserted, followed by a real space.
HTML: (preformatted): Tab is inserted.
When sent, plaintext tabs and HTLM (preformatted) tabs are sent.

There is no regression here, TB 24 and TB 31 are just the same.

Thomas is 100% right in comment #2.
Last Resolved: 3 years ago
Keywords: regression
Resolution: --- → INVALID

Comment 5

a year ago
Let's dupe this to bug 144230 where we have other "tab complaints".
Duplicate of bug: 144230
You need to log in before you can comment on or make changes to this bug.