1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 14:30:50 -08:00

Fix `functionp' contraining (bug#45576)

* lisp/emacs-lisp/comp.el (comp-known-predicates)
	(comp-known-predicates-h): New constants.
	(comp-known-predicate-p, comp-pred-to-cstr): New functions.
	* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Don't define.
	* test/src/comp-tests.el (comp-test-45576): New testcase.
	* test/src/comp-test-funcs.el (comp-test-45576-f): New function.
This commit is contained in:
Andrea Corallo 2021-01-02 12:18:39 +01:00
parent 03be03d366
commit 43d0e8483e
5 changed files with 60 additions and 11 deletions

View file

@ -3199,8 +3199,7 @@ Of course, we really can't know that for sure, so it's just a heuristic."
;; FIXME: Do we really want to consider this a type?
(integer-or-marker . integer-or-marker-p)
))
(put type 'cl-deftype-satisfies pred)
(put pred 'cl-satisfies-deftype type))
(put type 'cl-deftype-satisfies pred))
;;;###autoload
(define-inline cl-typep (val type)