Hacker News new | past | comments | ask | show | jobs | submit login

most of them do. it's what a /r means. it's how cli programs can easily output a spinning wheel/similar for busy status.



You want to know how I know you never wrote your own C program or terminal emulator?

/r means "slash, then the letter r". \r means carriage return, which doesn't clear the line, just moves the cursor to the left margin. Unless you're on an Apple ][, in which case CHR$(13) moves to the beginning of the next line, but still doesn't clear anything. And CHR$(4) is where the real magic happens, but it has to follow a CHR$(13)!

]PRINT CHR$(4) + "INIT HELLO"


you're absolutely right. It's impossible that I've ever written any C, and just fat fingered the / and \.

...

Point is, \r goes to the beginning of the line, without going to the next one, as you reiterated, so you can output a spinner using

    -
    /
    -
    \


No, "\r" means return the cursor to the start of the line without clearing the line.

Try this:

  $ echo -ne "ooo\rf\n"
  foo
If a "\r" cleared the line, you would just see a "f", not a "foo".


isn't that what I said?


You want to know how I know you never wrote your own text editor?

Carriage return is a carriage return, not a delete or backspace or clear line.


>Carriage return is a carriage return

To be fair it isn't.

On typewriters it also adds a new line. On Mac, it is (used to be?) the new line character.

I don't know how non vt terminals handled it.


who said anything about clearing? I just meant that \r goes to the beginning of the line, so you can output a busy spinner


> What terminal interprets "\r" as "clear the line"? I would have thought that is considered a bug.

>> most of them do. it's what a /r means. it's how cli programs can easily output a spinning wheel/similar for busy status.

You did.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: