As I understand it, there's no way to tell echo() and writeLine() which line terminator to use for output (they use the system-specific one), forcing you to resort to using something linke write(stdout, ...).
I often happen to generate cross-OS files which are not ignorant of the line terminator, so that files produced e.g. under Windows and copied over to e.g. Linux would cause all sorts of problems. Though I could certainly write a template for this use case, I'd find it desireable to control the usage of the line terminator (e.g. by a switch or a re-definable "constant").
I think this proposal is not really needed. If you want to use special line endings just use your own "writeL()" proc. That will not increase complexity of your code. I wanted a "no newline echo" version before and wrote some "write()" which does not need the "stdout" parameter and creating my own "proc" for that did not hurt either.
I think it would be also not very good if echo suddenly uses another line ending because I want to use a different one with writeLine(). To me "echo" goes to the terminal and this needs the system specific line endings in most cases.
Redefining a "constant" could also mess up how modules I import work. Normally newline is everywhere coded as "n" in Nim. There may be already the possibility to mess with how that is defined by changing something in config.nim.