A primitive function is a function callable from Lisp but written in the C programming language. Primitive functions are also called subrs or built-in functions .
Most primitive functions evaluate all their arguments when they are called.
It does not matter to the caller of a function whether the function is primitive. However, this does matter if you try to substitute a function written in Lisp for a primitive of the same name. The reason is that the primitive function may be called directly from C code. Calls to the redefined function from Lisp will use the new definition, but calls from C code may still use the built-in definition. The term function refers to all Emacs functions, whether written in Lisp or C. See Function Type , for information about the functions written in Lisp.