cl-preloaded.el: Partly revert last change

The change caused type-check errors in auth-source where they use
`:type function` constraints on object slots and expect those to
be able to hold symbols.

* lisp/emacs-lisp/cl-preloaded.el (function): Revert last change.

* test/src/data-tests.el (data-tests--cl-type-of): Use `cl-functionp`
rather than `functionp` to test `function`.
This commit is contained in:
Stefan Monnier 2024-03-26 17:27:29 -04:00
parent ed85132740
commit e5d824b632
2 changed files with 8 additions and 2 deletions

View file

@ -436,7 +436,11 @@ For this build of Emacs it's %dbit."
(car car) (cdr cdr))
(cl--define-built-in-type function (atom)
"Abstract supertype of function values."
:predicate cl-functionp)
;; FIXME: Historically, (cl-typep FOO 'function) called `functionp',
;; so while `cl-functionp' would be the more correct predicate, it
;; would breaks existing code :-(
;; :predicate cl-functionp
)
(cl--define-built-in-type compiled-function (function)
"Abstract type of functions that have been compiled.")
(cl--define-built-in-type byte-code-function (compiled-function)

View file

@ -870,7 +870,9 @@ comparing the subr with a much slower Lisp implementation."
native-comp-unit interpreted-function
tree-sitter-compiled-query
tree-sitter-node tree-sitter-parser))))
(should-not (cl-typep val subtype))))))))
(cond
((eq subtype 'function) (cl-functionp val))
(t (should-not (cl-typep val subtype))))))))))
;;; data-tests.el ends here