所有函数都是基于其他函数定义的,除了一些用C编写的原始函数。当你编写函数定义时,你将使用Emacs Lisp编写它们,并将其他函数作为构建块。你将使用的一些函数本身是用Emacs Lisp编写的(也许是由你编写的),而另一些是用C编写的原语。这些原始函数的使用方式与用Emacs Lisp编写的函数完全相同,并且其行为也相同。它们是用C编写的,以便我们可以轻松地在任何具有足够计算能力且能够运行C的计算机上运行GNU Emacs。
让我再强调一下:当你在Emacs Lisp中编写代码时,你不区分是使用用C编写的函数还是使用用Emacs Lisp编写的函数。这种区别是无关紧要的。我提到这个区别只是因为它是有趣的。实际上,除非你调查,你不会知道一个已经编写好的函数是用Emacs Lisp还是C编写的。