emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Suggested experimental test


From: Gregory Heytings
Subject: Re: Suggested experimental test
Date: Tue, 23 Mar 2021 21:06:54 +0000



C-o is bound where it is because when Emacs was written, someone -- most probpobly RMS -- bound it there, so it isn't really a historical accident but rather an active design decision. There is also a reason why C-x C-o where it is.


I digged further in my archives.  In case some are interested:

As most of you know, the original Emacs was written in TECO. C-o was a command of TECO's real-time editing feature (which was entered with C-r), which was imported into Emacs. The purpose of C-o in TECO was to optimize redisplay: when point on in the middle of a non-empty line, C-o F O O required less redisplay than F O O RET.

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). 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

In other words again, C-o was meant to "create some blank space on the screen" (not in the buffer) to optimize redisplay.

Do you now see the "historical accident"?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]