aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diffseq.h
diff options
context:
space:
mode:
authorStefan Monnier2025-05-05 14:57:05 -0400
committerStefan Monnier2025-05-05 14:57:05 -0400
commit68a50324a70bd794d7f3228290310093f1515f7b (patch)
tree95d642660836bba9fb6c8ea0cb3c6b5628aac344 /lib/diffseq.h
parent8f649c42702144dbbacba180c78ab0df04951807 (diff)
downloademacs-68a50324a70bd794d7f3228290310093f1515f7b.tar.gz
emacs-68a50324a70bd794d7f3228290310093f1515f7b.zip
cl-types: Simplify a bit further
Mostly, get rid of `cl--type-flag` and rely only on the presence/absence of the type on `cl--types-list` to "flag" erroring-types. Also, don't try and catch errors during dispatch. * lisp/emacs-lisp/cl-types.el (cl--type-dispatch-list): Move to the relevant section. (cl--type-parents): Inline into sole caller. (cl--type-deftype): Add `arglist` argument. Don't signal an error if the type already existed but wasn't in `cl--type-list` since that's normal and we can fix it. Don't touch `cl--type-flag` any more. Don't add to `cl--type-list` if it can't be used without arguments. (cl-deftype2): Adjust call accordingly. (cl--type-error): Inline into sole caller. (cl-types-of): Be more careful to preserve ordering of types before passing them to `merge-ordered-lists`. Add `types` argument for use by dispatch. Don't bother skipping the `root-type` since that's a built-in type, so it should never happen anyway. Don't catch errors if called from dispatch. Don't bother with `cl--type-flag`. (cl--type-generalizer): Use new arg of `cl-types-of` instead of let-binding `cl--type-list`, in case `cl-types-of` ends up (auto)loading a file or some such thing which needs to use/modify `cl--type-list`. (cl--type-undefine): Move to end of file. * test/lisp/emacs-lisp/cl-types-tests.el (cl-types-test): Remove DAG test since we don't detect such errors any more. Relax ordering test when the order is not guaranteed by parent-relationships.
Diffstat (limited to 'lib/diffseq.h')
0 files changed, 0 insertions, 0 deletions