C言語で記述された少数のプリミティブ関数を除き、すべての関数は他の関数を用いて定義されています。関数の定義を記述する際は、Emacs Lispで記述し、他の関数を構成要素として利用します。使用する関数の中には、それ自体がEmacs Lispで記述されているもの(おそらくご自身で記述したもの)もあれば、C言語で記述されたプリミティブ関数もあります。プリミティブ関数は、Emacs Lispで記述された関数と全く同様に使用でき、動作も同様です。これらがC言語で記述されているのは、十分な性能を備えC言語を実行できるあらゆるコンピュータ上で、容易にGNU Emacsを動作させるためです。
改めて強調しておきます。Emacs Lispでコードを書く際、C言語で書かれた関数の使用とEmacs Lispで書かれた関数の使用を区別することはありません。その違いは無関係です。あえてこの区別に触れたのは、知っておくと興味深いからです。実際、調べてみない限り、既に書かれている関数がEmacs Lispで書かれているのかC言語で書かれているのかは分かりません。