]> git.eshelyaron.com Git - emacs.git/commit
cl-types: Integrate into CL-Lib
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 6 May 2025 03:18:56 +0000 (23:18 -0400)
committerEshel Yaron <me@eshelyaron.com>
Sat, 10 May 2025 08:51:20 +0000 (10:51 +0200)
commit1cd3a5aba37855a57523d4213170d822f7254a12
treec482e4a6871ba90350dbf65c9f004f2798f1dab4
parent4143dd0e838eff456f6e447f504481e7cf5ec766
cl-types: Integrate into CL-Lib

* lisp/emacs-lisp/cl-extra.el (cl--type-unique, cl-types-of)
(cl--type-dispatch-list, cl--type-generalizer): Move to `cl-extra.el`.
(cl--type-generalizers): New function extracted from "cl-types-of"
method of `cl-generic-generalizers`.

* lisp/emacs-lisp/cl-lib.el (cl-generic-generalizers): New method to
dispatch on derived types.  Use `cl--type-generalizers`.

* lisp/emacs-lisp/cl-macs.el (cl-deftype): Move from `cl-types.el`
and rename from `cl-deftype2`.
(extended-char): Tweak definition to fix bootstrapping issues.

* lisp/emacs-lisp/cl-preloaded.el (cl--type-list, cl-type-class)
(cl--type-deftype): Move from `cl-types.el`.

* lisp/emacs-lisp/oclosure.el (oclosure): Don't abuse `cl-deftype` to
register the predicate function.

* test/lisp/emacs-lisp/cl-extra-tests.el: Move tests from
`cl-type-tests.el`.

(cherry picked from commit fc4d8ce9514dd45ab34dbef6f023347b42ee9fef)
lisp/emacs-lisp/cl-extra.el
lisp/emacs-lisp/cl-lib.el
lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/cl-preloaded.el
lisp/emacs-lisp/cl-types.el
lisp/emacs-lisp/oclosure.el
test/lisp/emacs-lisp/cl-extra-tests.el
test/lisp/emacs-lisp/cl-types-tests.el [deleted file]