From: Stefan Monnier Date: Tue, 12 Mar 2024 12:48:09 +0000 (-0400) Subject: (comp-known-predicates): Fix overly optimistic `functionp` X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=55ed4419ae556d6fe348ce9b2f62a6ee3ba63789;p=emacs.git (comp-known-predicates): Fix overly optimistic `functionp` * lisp/emacs-lisp/comp.el (comp-known-predicates): `functionp` can also be true for `cons` objects. (cherry picked from commit d5773276fb1671da619eeee2c316098d6b1c25c4) --- diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 21e2bb01ed0..9c2182092cb 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -202,7 +202,7 @@ Useful to hook into pass checkers.") (consp . cons) (floatp . float) (framep . frame) - (functionp . (or function symbol)) + (functionp . (or function symbol cons)) (hash-table-p . hash-table) (integer-or-marker-p . integer-or-marker) (integerp . integer) @@ -244,6 +244,7 @@ Useful to hook into pass checkers.") (defun comp--pred-to-cstr (predicate) "Given PREDICATE, return the corresponding constraint." + ;; FIXME: Unify those two hash tables? (or (gethash predicate comp-known-predicates-h) (gethash predicate (comp-cstr-ctxt-pred-type-h comp-ctxt))))