> In my first attempt at an editor, written in an amazingly ugly (Borland) C/C++ mix, I assumed text was always delimited with some form of newline. I loaded the initial file into memory completely, and then constructed a "line" array structs, which contained a pointer to the start of the line, a length and a pointer to the 'previous' version. If this was NULL, it was the initially loaded buffer.
Something like this is how various vi implementations, and even some older (pre-GNU) versions of Emacs, work.
Something like this is how various vi implementations, and even some older (pre-GNU) versions of Emacs, work.
So 16-year-old you was not far off the mark.