What whitespace symbols does Winmerge use for line endings (EOF and EOL)?

1.9k views Asked by At

If I select View Whitespace from the view menu of WinMerge, line-ending symbols are displayed. One file has been changed, but I can't find any documentation on what symbols represent what characters.

No idea what this pair of symbols signifies, this is the file before line-ending conversion to CR/LF:

Before

This symbol seems represent the CR/LF pair, as I converted the file to have those line endings:

After

To add some more context, Visual Studio detected that this file had mixed line endings, and converted them to CR/LF. Then I looked at the differences to the original file stored in git. So gits line-ending conversion may have some interaction here in the way it converts the original file. My line endings are for automatically changing to windows line endings.

1

There are 1 answers

0
Kasper van den Berg On BEST ANSWER

WinMerge 2.14.0.0 Unicode (and probably other versions as well) has a setting under menu://edit/options/Editor "preserve original EOL characters".

  • When "preserve original EOL characters" is checked WinMerge shows §¶ for some files and for others1.
  • When "preserve original EOL characters" is unchecked, WinMerge shows ¤.
    Note: unchecked "preserve original EOL characters" can cause WinMerge to mark two files, that appear identical, as having differences on every line.

Using a hexeditor shows that:

  • 0x0d a.k.a. <cr> is shown as §; and
  • 0x0a a.k.a. <lf> is shown as .

1 Suspected problems with line endings in my repository led me to OP's question; therefore I have both §¶ and .