Add on to bloat.md
[kill9.git] / emacs / extra / bloat.md
CommitLineData
492805aa 1# Emacs isn't bloat. (n)vim is.
2
3Remember, Nobody knows what's Emacs is, I just say it is a Lisp
4machine emulator. But the GNU Project says it is a text editor. Which
5is true.
6
7Emacs is written in (src/ directory in the Emacs source tree) C and in
8Lisp (lisp directory in the source tree). The C part contains the
9Emacs core. Which is what Emacs need to work. The Lisp directory has
10the "bloated" things. The basic functionality of the text editor (such
11as (forward-char) and that kind of functions are written in C). If
12thing a Emacs' feature (M-x tetris) is bloat. You can remove
13lisp/play/tetris.el. And the bloat is gone.
14
15>\>But I have to recompile to remove a feature from Emacs.
16
17Nope. Most .el(c) files are in /usr/emacs/*/lisp. You can remove
18whatever you want from there. Emacs will work without them.
19
20Unbloating Emacs is easy, just rm -r some .el files. How easy is it to
21unbloat (n)vim?
22
23Since it is fully written in C, you have to learn it to figure out
24what to delete. So Vim doesn't stop working. Then you gotta recompile.
25
26Nvim is a (fork) of vim written in Vimscript, C and extensible in Lua.
27Using an external programming language for extensions is bloat. Emacs
90104563 28fixed that using its own programming language, which is also a programming
29language that happens to be very powerful, and allows lots of plugins to be
30written for emacs.