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