File: cl-macs.el.html
These are extensions to Emacs Lisp that provide a degree of Common Lisp compatibility, beyond what is already built-in in Emacs Lisp.
This package was written by Dave Gillespie; it is a complete rewrite of Cesar Quiroz's original cl.el package of December 1986.
Bug reports, comments, and suggestions are welcome!
This file contains the portions of the Common Lisp extensions package which should be autoloaded, but need only be present if the compiler or interpreter is used---this file is not necessary for executing compiled code.
See cl.el for Change Log.
Defined variables (1)
cl--struct-inline | If non-nil, ‘cl-defstruct’ will define inlinable functions. |
Defined functions (112)
cl--alist-to-plist | (ALIST) |
cl--arglist-args | (ARGS) |
cl--block-throw--cmacro | (CL-WHOLE-ARG CL-TAG CL-VALUE) |
cl--block-wrapper--cmacro | (CL-WHOLE-ARG CL-FORM) |
cl--compile-time-too | (FORM) |
cl--compiler-macro-adjoin | (FORM A LIST &rest KEYS) |
cl--compiler-macro-assoc | (FORM A LIST &rest KEYS) |
cl--compiler-macro-cXXr | (FORM X) |
cl--compiler-macro-get | (FORM SYM PROP &optional DEF) |
cl--compiler-macro-list* | (FORM ARG &rest OTHERS) |
cl--compiler-macro-member | (FORM A LIST &rest KEYS) |
cl--const-expr-p | (X) |
cl--const-expr-val | (X) |
cl--defstruct-predicate | (TYPE) |
cl--defsubst-expand | (ARGNS BODY SIMPLE WHOLE UNSAFE &rest ARGVS) |
cl--do-&aux | (ARGS) |
cl--do-arglist | (ARGS EXPR &optional NUM) |
cl--do-proclaim | (SPEC HIST) |
cl--edebug-macrolet-interposer | (BINDINGS PF &rest SPECS) |
cl--expand-do-loop | (STEPS ENDTEST BODY STAR) |
cl--expr-contains | (X Y) |
cl--expr-contains-any | (X Y) |
cl--expr-depends-p | (X Y) |
cl--find-class | (TYPE) |
cl--labels-convert | (F) |
cl--letf | (BINDINGS SIMPLEBINDS BINDS BODY) |
cl--loop-build-ands | (CLAUSES) |
cl--loop-handle-accum | (DEF &optional FUNC) |
cl--loop-let | (SPECS BODY PAR) |
cl--loop-set-iterator-function | (KIND ITERATOR) |
cl--macroexp-fboundp | (SYM) |
cl--make-usage-args | (ARGLIST) |
cl--make-usage-var | (X) |
cl--optimize | (F ARGS &rest QUALITIES) |
cl--pcase-mutually-exclusive-p | (ORIG PRED1 PRED2) |
cl--pop2 | (PLACE) |
cl--prog | (BINDER BINDINGS BODY) |
cl--push-clause-loop-body | (CLAUSE) |
cl--safe-expr-p | (X) |
cl--self-tco | (VAR FARGS BODY) |
cl--simple-expr-p | (X &optional SIZE) |
cl--simple-exprs-p | (XS) |
cl--slet | (BINDINGS BODY &optional NOWARN) |
cl--slet* | (BINDINGS BODY) |
cl--sm-macroexpand | (EXP &optional ENV) |
cl--sm-macroexpand-1 | (ORIG-FUN EXP &optional ENV) |
cl--transform-lambda | (FORM BIND-BLOCK) |
cl--unused-var-p | (SYM) |
cl-assert | (FORM &optional SHOW-ARGS STRING &rest ARGS) |
cl-block | (NAME &rest BODY) |
cl-callf | (FUNC PLACE &rest ARGS) |
cl-callf2 | (FUNC ARG1 PLACE ARGS...) |
cl-case | (EXPR (KEYLIST BODY...)...) |
cl-check-type | (FORM TYPE &optional STRING) |
cl-compiler-macroexpand | (FORM) |
cl-declare | (&rest SPECS) |
cl-define-compiler-macro | (FUNC ARGS &rest BODY) |
cl-defmacro | (NAME ARGLIST [DOCSTRING] BODY...) |
cl-defstruct | (NAME &optional DOCSTRING &rest SLOTS) |
cl-defsubst | (NAME ARGLIST [DOCSTRING] BODY...) |
cl-deftype | (NAME ARGLIST &rest BODY) |
cl-defun | (NAME ARGLIST [DOCSTRING] BODY...) |
cl-destructuring-bind | (ARGS EXPR &rest BODY) |
cl-do | (((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...) |
cl-do* | (((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...) |
cl-do-all-symbols | ((VAR [RESULT]) BODY...) |
cl-do-symbols | ((VAR [OBARRAY [RESULT]]) BODY...) |
cl-dolist | ((VAR LIST [RESULT]) BODY...) |
cl-dotimes | ((VAR COUNT [RESULT]) BODY...) |
cl-ecase | (EXPR (KEYLIST BODY...)...) |
cl-etypecase | (EXPR (TYPE BODY...)...) |
cl-eval-when | ((WHEN...) BODY...) |
cl-flet | (((FUNC ARGLIST BODY...) ...) FORM...) |
cl-flet* | (((FUNC ARGLIST BODY...) ...) FORM...) |
cl-function | (FUNC) |
cl-gensym | (&optional PREFIX) |
cl-gentemp | (&optional PREFIX) |
cl-iter-defun | (NAME ARGLIST [DOCSTRING] BODY...) |
cl-labels | (((FUNC ARGLIST BODY...) ...) FORM...) |
cl-letf | (((PLACE VALUE) ...) BODY...) |
cl-letf* | (BINDINGS &rest BODY) |
cl-load-time-value | (FORM &optional READ-ONLY) |
cl-locally | (&rest BODY) |
cl-loop | (CLAUSE...) |
cl-macrolet | (((NAME ARGLIST BODY...) ...) FORM...) |
cl-multiple-value-bind | ((SYM...) FORM BODY) |
cl-multiple-value-setq | ((SYM...) FORM) |
cl-once-only | (NAMES &rest BODY) |
cl-prog | (BINDINGS &rest BODY) |
cl-prog* | (BINDINGS &rest BODY) |
cl-progv | (SYMBOLS VALUES &rest BODY) |
cl-psetf | (PLACE VAL PLACE VAL ...) |
cl-psetq | (SYM VAL SYM VAL ...) |
cl-remf | (PLACE TAG) |
cl-return | (&optional RESULT) |
cl-return-from | (NAME &optional RESULT) |
cl-rotatef | (PLACE...) |
cl-shiftf | (PLACE... VAL) |
cl-struct--pcase-macroexpander | (TYPE &rest FIELDS) |
cl-struct-sequence-type | (STRUCT-TYPE) |
cl-struct-slot-info | (STRUCT-TYPE) |
cl-struct-slot-offset | (STRUCT-TYPE SLOT-NAME) |
cl-struct-slot-value | (STRUCT-TYPE SLOT-NAME INST) |
cl-struct-slot-value--inliner | (INLINE--FORM STRUCT-TYPE SLOT-NAME INST) |
cl-symbol-macrolet | (((NAME EXPANSION) ...) FORM...) |
cl-tagbody | (&rest LABELS-OR-STMTS) |
cl-the | (TYPE FORM) |
cl-type--pcase-macroexpander | (TYPE) |
cl-typecase | (EXPR (TYPE BODY...)...) |
cl-typep | (VAL TYPE) |
cl-typep--inliner | (INLINE--FORM VAL TYPE) |
cl-with-gensyms | (NAMES &rest BODY) |