aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diffseq.h
diff options
context:
space:
mode:
authorDavid Ponce2025-05-05 11:03:56 -0400
committerStefan Monnier2025-05-05 11:03:56 -0400
commit8f649c42702144dbbacba180c78ab0df04951807 (patch)
tree409ee81ba54dbc564c558085ee4de82b78b31e57 /lib/diffseq.h
parent4323ff209f2f73ca4e6d389de69eb310988c0b1f (diff)
downloademacs-8f649c42702144dbbacba180c78ab0df04951807.tar.gz
emacs-8f649c42702144dbbacba180c78ab0df04951807.zip
cl-types.el: Speed up deftype and dispatch
* lisp/emacs-lisp/cl-types.el (cl--type-list): Doc string. (cl--type-dispatch-list): New variable. (cl--type-parents): Make it a plain defun. (cl--type-children, cl--type-dag): Remove. (cl--type-undefine): Remove duplicate test for `cl--type-p'. Use `cl--class-children'. Clear `cl--type-flag' instead of `cl--type-error'. Also remove type from the dispatch list. (cl--type-deftype): Doc string. Remove useless safeguard of data on error. Fix some error messages. Clear `cl--type-flag' when a type is (re)defined. Just push new types on `cl--type-list'. (cl--type-error): Set `cl--type-flag' to the symbol `error' and remove type in error from the dispatch list. (cl-types-of): Doc string. Remove useless check for `cl-type-class-p'. Skip types which we are sure will not match. Simplify creation of the DAG. (cl--type-generalizer): In the tagcode-function, check only types that can be dispatched. (cl-generic-generalizers): Populate the dispatch list.
Diffstat (limited to 'lib/diffseq.h')
0 files changed, 0 insertions, 0 deletions