Hrvoje Niksic writes:
Retaining a measure of backward-compatibility is important.
During the years I've come to the conclusion that Emacs is not
a very smart thing; it's good because it's old and because
lots of code has been written. APIs _do_ change (as witness
by the coming of Emacs 19 and XEmacs), but they should change
slowly and at the right time, unless we wish to alienate our
user-base.
Thank you, thank you, thank you. I was losing faith in my
fellow man. People support the project by writing XEmacs
specific code and then we thank them by breaking their code
in the name of 'modernization' or 'improvement'. Leave the
old APIs alone! If you want new functionality, make up new
function names, add pragmas to the compiler, or whatever.
There are ways to maintain backward compatibility most of the
time. We can certainly bully people into changing their code,
since forking the distribution or refusing to use new versions is
unsupportable long-term. But developers remember abuse like this.