Did Mac OS Lion switch to using line feeds (LF '\n') for line breaks instead of carriage returns (CR '\r')?

31,787

I remember that Macs always used to use CR despite Unix using LF and Windows using CR+LF

Your memory is from the good old times though: Mac OS X, as POSIX-compliant Unix uses the typical Unix LF.

CR is a relict from the "classic" Mac OS, it's not used anymore.

For example, check the manpage of unix2dos (emphasis mine):

In DOS/Windows text files a line break, also known as newline, is a combination of two characters: a Carriage Return (CR) followed by a Line Feed (LF). In Unix text files a line break is a single character: the Line Feed (LF). In Mac text files, prior to Mac OS X, a line break was single Carriage Return (CR) character. Nowadays Mac OS uses Unix style (LF) line breaks.

An even more authoritative reference: Shell Scripting Primer: Designing Scripts for Cross-Platform Deployment

Command-line tools in Mac OS X (and other UNIX or Linux variants) use UNIX-style line endings. This means that each line in a text file ends with a newline character (character 10/0xA, often abbreviated LF).

Many older Mac applications use "Mac-style” line endings. This means that each line in a text file ends with a carriage return character (character 13/0xD, often abbreviated CR).

Share:
31,787

Related videos on Youtube

Matt
Author by

Matt

If I'm giving you a hard time, it's because I'm trying to learn as much as I can from you.

Updated on September 18, 2022

Comments

  • Matt
    Matt over 1 year

    I switched to Lion a while back and just noticed that when I save a text file in TextEdit, it uses LF for line breaks. I looked around everywhere I could think of on my Lion computer and could not find any evidence of files using CR for line breaks even though I remember that Macs always used to use CR despite Unix using LF and Windows using CR+LF. When I learned that OS X was based on Unix, I even checked on my Snow Leopard and was disappointed that it stilled used CR.

    So did Lion switch to using LF?

    The strangest thing is I searched all over the web and cannot find any evidence of Lion using LF.

  • Matt
    Matt almost 12 years
    I specifically remember on Snow Leopard it used CR.
  • slhck
    slhck almost 12 years
    I am on Snow Leopard and it does not use carriage returns, neither in TextEdit, TextWrangler, TextMate, vim, emacs, nano, when echoing to a file, et cetera. And there is semi-authoritative reference on that, so you must have set your editor on Snow Leopard to use carriage returns then.
  • Matt
    Matt almost 12 years
    I figured it out: The problem is with Microsoft Excel. When you save a CSV file on a Mac, it uses CR.
  • NobleUplift
    NobleUplift over 4 years
    Thank you for this answer! I'm trying to add TI-89 programs to my Git repository that all end in \r and Git is having trouble with it.
  • slhck
    slhck over 4 years
    I'm not sure if I can help you with your question though. If it's not answered by my post, consider editing it to have it reopened.