By the sort program when a file is sorted the lines which start with line feed output earlier than lines which begin with tab. Tab ASCII value is 9. LF ASCII value is 10. Tabs should be first? However, to strings if the lines are converted then to mitigate a larger address space presumably with 0 the LF are replaced. Yet after the LF if the 0 byte was placed then the expected output would become. If expected behavior becomes then historical behavior relied upon scripts might break. The sort.c source code was not viewed. Therefore, a patch is not offered. Discussion is solicited. Concerning empty lines first. Is it a bug? Should it be fixed? Because I am not on the email list; if the topic is worth discussion if a decision is made then please forward. Thanks for maintaining and sharing awesome software.