On 10/12/2015 08:35 AM, Eli Zaretskii wrote: >> Date: Mon, 12 Oct 2015 05:43:02 +0300 >> From: Eli Zaretskii >> Cc: esperanto@cumego.com, emacs-devel@gnu.org >> >>> From: Marcin Borkowski >>> Date: Mon, 12 Oct 2015 00:02:43 +0200 >>> >>> it might be a good idea to move some parts of Emacs core (which are >>> not system-dependent or performance-critical, e.g., parts of >>> interactive behavior like `self-insert-command' might fit here) from >>> C to Elisp. >> >> We are doing this all the time. Patches to that effect are welcome. > > Btw, most of the code for self-insert-command is in an internal > function, so rewriting that in Lisp is unlikely to help people > understand its internal hair. > > More importantly, most of the complicated parts of the C code cannot > be rewritten in Lisp anyway, so only limited progress can be made this > way, which will not make it easier to understand the core. Exactly. The complexity in the core is not a result of its implementation language. It's complex because it's complex. Suddenly sprinkling "class" and vtables through the core isn't going to reduce the complexity of the implemented logic.