> recordsep in the unaligned mode doesn't play the role of a line ending > because the last line is not finished by recordsep. According to the source >code, this is intended, see print_unaligned_text() in print.c:
Something else comes to mind: CSV allows linefeeds inside fields, and we don't want to replace these with record separators. So the notion that recordsep can be used to choose line endings is even less okay than if there was just the last line issue.
I'm not following - if recordsep is not something that would interpreted as a newline then the file we output would have not structural newlines. It might have data newlines but those would be quoted.