diff options
| author | David Ponce | 2025-04-29 10:48:37 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2025-04-29 10:48:37 -0400 |
| commit | 4323ff209f2f73ca4e6d389de69eb310988c0b1f (patch) | |
| tree | f27fe1303c49d6b607716b717eb9ed266cebb438 /lib | |
| parent | dfbeb7478ecd817f888927154858c380fb60390f (diff) | |
| download | emacs-4323ff209f2f73ca4e6d389de69eb310988c0b1f.tar.gz emacs-4323ff209f2f73ca4e6d389de69eb310988c0b1f.zip | |
(cl-types-of): Speed up by caching more of its work
* lisp/emacs-lisp/cl-types.el (cl--type-parents): Make it a proper function.
(cl--type-children): Use `cl--class-children` and make it a `defsubst`.
(cl--type-dag): η-reduce and make it a `defsubst`.
(cl--type-undefine): Also reset `cl--type-error`.
(cl--type-deftype): Modify `cl--type-list` atomically so we never need
to restore it upon error. Don't test bogus parent here.
(cl-deftype2): Test bogus parent here instead. Also, better preserve
the declarations for the lambda.
(cl-types-of): Do less uncached work.
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions