]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fmake_finalizer): Check the arg is a function
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 31 Dec 2021 05:16:03 +0000 (00:16 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 31 Dec 2021 05:16:03 +0000 (00:16 -0500)
* src/eval.c (syms_of_eval): Add `Qfunctionp`.
* src/alloc.c (Fmake_finalizer): Check the arg is a function.

src/alloc.c
src/eval.c

index 16f9076b03c42052a8f083b1ac9af0d5e09eec2e..d82af1980a3de1f5b9a6d8ad1b98c0448410818f 100644 (file)
@@ -3888,6 +3888,7 @@ count as reachable for the purpose of deciding whether to run
 FUNCTION.  FUNCTION will be run once per finalizer object.  */)
   (Lisp_Object function)
 {
+  CHECK_TYPE (FUNCTIONP (function), Qfunctionp, function);
   struct Lisp_Finalizer *finalizer
     = ALLOCATE_PSEUDOVECTOR (struct Lisp_Finalizer, function, PVEC_FINALIZER);
   finalizer->function = function;
index ddf455e4d78d37c3345a5c375f3ec873b034ce5d..83ec3eab112a772e9dc11a1f1c5576d1c560041c 100644 (file)
@@ -4594,5 +4594,6 @@ alist of active lexical bindings.  */);
   defsubr (&Sbacktrace_eval);
   defsubr (&Sbacktrace__locals);
   defsubr (&Sspecial_variable_p);
+  DEFSYM (Qfunctionp, "functionp");
   defsubr (&Sfunctionp);
 }