シロウトのたわごとかもしれませんが、横から失礼します。
本件の現象は、プレーンテキスト形式で開いた Thunderbird のメッセージ作成ウィンドウで、連続する複数のホワイトスペース(半角スペース文字やタブ文字)を含んだ文字列のコピーをおこなうときに、ホワイトスペースがどのように取り扱われているか、という問題のように感じられます。
参考としていえば、一つ前のメジャーバージョンである Thunderbird 31.8.0 では、本件の問題は発生しません。
メッセージ作成ウィンドウで入力したり返信で引用された文字列の、初期状態の表示としては、連続する複数のホワイトスペースは維持されています。
しかし、その文字列をコピーした段階で、複数のホワイトスペースが1つにまとめられるという結果が生まれるケースがあります。(したがって、ペースト先ではホワイトスペースが省略された状態で貼り付けられます。)
この内容は、表示における white-space プロパティの働きのうちホワイトスペースに関わる動作としては、normal 、nowrap 、pre-line と同等のように見えます。pre と pre-wrap では、ホワイトスペースはあるがままの状態が維持されます(改行/折り返しの扱いには差があります)。
ところで、Windows 版の Thunderbird 38.3.0 での動作をざっと確かめた結果は次の通りです。
新規にプレーンテキスト形式のメッセージ作成ウィンドウを開いたとき、本件のような症状が起こるのは、最初の質問で詳しく述べられているとおりです。
この場合、メッセージを書いていく部分は BODY 要素で定義されていますが、この BODY を DOM Inspector で見ると、DOM Node には「style="font-family: -moz-fixed; white-space: pre-wrap; width: 72ch;"」という定義があるのは、
Bug 1193153 内で指摘されているとおりです。
white-space: pre-wrap; の表示条件から類則するなら、少なくともホワイトスペースは維持されそうなものですが、実際にはコピー時に省略されてしまいます。
興味深いのは、[返信] で開いたプレーンテキスト形式のメッセージ作成ウィンドウです。
引用文(つまり引用符付きの文字列)に存在する「連続する複数のホワイトスペース」を含む文字列をコピーしても、ホワイトスペースの省略は起こりません
(*)。
引用文は、メッセージ作成ウィンドウの内部的には、地の文とは異なる定義(SPAN によるスタイル定義)がおこなわれているようです。
DOM Inspector で対象を見たとき、この SPAN の DOM Node には「style="white-space: pre;"」の定義があるのがわかります。
(ホワイトスペースや改行・折り返しを可能な限り原文のママにするという、引用の基本前提を考慮しているからだと考えられます。)
しかし引用とは違う、ユーザーが書いた地の部分(BODY 直下)では、本件のような症状が起こります。
一方、新規に HTML 形式のメッセージ作成ウィンドウを開いたときは、BODY 要素の DOM Node にはスタイル指定はありません。HTML 形式の性格上、画面内でユーザーがスタイルを指定するからだと考えられます。
しかし、Computed Style で見ると「white-space: normal;」という一行があります。この部分だけを見ると、HTML 形式のほうがホワイトスペースを省略してしまいそうですが、実際にはそのようなコピー動作にはなっていません。
このように、メッセージ作成ウィンドウにおける Thunderbird の内部的な white-space の初期値は異なりますが、これが、文字列をコピーした際にホワイトスペースの扱いの差となって現れてしまう現象と、どのように関係しているのかということです。
Thunderbird の設定を様ざまに変更して、メッセージ作成ウィンドウの内部定義がどう変わるのか、変わらないのかを調べていけば、もう少し細かいことが分かるかもしれませんが、当方のスキルではこのあたりまでが限界です。
コピーという動作に関していえば、Thunderbird のプログラム本体か、モジュールとしての JavaScript にも目を向ける必要があるのかもしれませんね。
Thunderbird 38.x 系で、メッセージ作成ウィンドウにおける
文字列のコピーで問題が起こるという話は、このフォーラムにも次のようなトピックが上がっています。
・Thunderbird 38.0.1 におけるコピー&ペーストの動作について
viewtopic.php?t=15480具体的な症状は異なりますが、本件もメッセージ作成ウィンドウにおける文字列のコピーの不正常な動作という点で、なにかしら関連する原因があるのかもしれません。なお、この件も Thunderbir 31.x 系では発生していませんでした。
(*)上記トピックで回避策となっている mail.compose.wrap_to_window_width = true の状態だと、プレーンテキスト形式のメッセージ作成ウィンドウの引用文であっても、連続したホワイトスペースはひとつにまとめられてしまいます。
mail.compose.wrap_to_window_width = false(初期値)の場合、引用文は SPAN 要素として扱われますが、mail.compose.wrap_to_window_width = true の場合は地の文と同じ BODY 直下の要素として扱われますので、その違いが引用文をコピーした結果の違いとなって現れているのかもしれません。
以上、表面をなぞったばかりの話で失礼しました。
プログラムの中身を読み解くスキルがないことは自覚していますので、まったく見当外れのことを書いていたらスルーしてください。