Go to the previous, next section.

Naming Conventions

Except where noted, all functions defined by this package have the same names and calling conventions as their Common Lisp counterparts.

Following is a complete list of functions whose names were changed from Common Lisp, usually to avoid conflicts with Emacs. In each case, a `*' has been appended to the Common Lisp name to obtain the Emacs name:

defun*        defsubst*     defmacro*     function*
member*       assoc*        rassoc*       get*
remove*       delete*       mapcar*       sort*
floor*        ceiling*      truncate*     round*
mod*          rem*          random*

Internal function and variable names in the package are prefixed by cl-. Here is a complete list of functions not prefixed by cl- which were not taken from Common Lisp:

member        delete        remove        remq
rassoc        floatp-safe   lexical-let   lexical-let*
callf         callf2        letf          letf*
defsubst*     defalias      add-hook      eval-when-compile

(Most of these are Emacs 19 features provided to Emacs 18 users, or introduced, like remq, for reasons of symmetry with similar features.)

The following simple functions and macros are defined in `cl.el'; they do not cause other components like `cl-extra' to be loaded.

eql           floatp-safe   abs           endp
evenp         oddp          plusp         minusp
last          butlast       nbutlast      caar .. cddddr
list*         ldiff         rest          first .. tenth
member [1]    copy-list     subst         mapcar* [2]
adjoin [3]    acons         pairlis       when
unless        pop [4]       push [4]      pushnew [3,4]
incf [4]      decf [4]      proclaim      declaim

[1] This is the Emacs 19-compatible function, not member*.

[2] Only for one sequence argument or two list arguments.

[3] Only if :test is eq, equal, or unspecified, and :key is not used.

[4] Only when place is a plain variable name.


Go to the previous, next section.