[WARNING: I AM A TECO EMACS USER!] C-o in the original Emacs didn't quite do what C-o now does: the line(s) created by C-o were "eated" by the text that was inserted. In other words, RET in the line(s) created with C-o did not push the next lines down, it went on the next created line (if any). It does exactly the same thing it does today. Maybe you are confusing this with the way the gap buffer works? In other words again, let's assume the following initial situation: A |D E where | is the point. After C-u 2 C-o B RET C RET, the buffer was now: A B C |D E That is not the behaviour of TECO emacs, you would have two extra two newlines there, like in GNU emacs. "So, FOO Return is equivalent to C-o FOO." > You can make several blank lines by typing ‘C-o’ several times, or by >giving it a numeric argument specifying how many blank lines to make. >*Note Arguments::, for how. If you have a fill prefix, the ‘C-o’ >command inserts the fill prefix on the new line, if typed at the >beginning of a line. *Note Fill Prefix::. > > The easy way to get rid of extra blank lines is with the command ‘C-x >C-o’ (‘delete-blank-lines’). If point lies within a run of several >blank lines, ‘C-x C-o’ deletes all but one of them. If point is on a >single blank line, ‘C-x C-o’ deletes it. If point is on a nonblank >line, ‘C-x C-o’ deletes all following blank lines, if any exists.