From 99cebef7258d9aaaed1af66e98856ce9963cddbd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gerd=20M=C3=B6llmann?= Date: Mon, 2 Oct 2023 11:04:22 +0200 Subject: [PATCH] Bind *package* in hooks * src/eval.c (run_hook_with_args): Bind *package* to the emacs package. --- src/eval.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/eval.c b/src/eval.c index 4d247556264..68a30631fb0 100644 --- a/src/eval.c +++ b/src/eval.c @@ -2853,10 +2853,16 @@ run_hook_with_args (ptrdiff_t nargs, Lisp_Object *args, if (BASE_EQ (val, Qunbound) || NILP (val)) return ret; - else if (!CONSP (val) || FUNCTIONP (val)) + + specpdl_ref count = SPECPDL_INDEX (); + specbind (Qearmuffs_package, Vemacs_package); + + if (!CONSP (val) || FUNCTIONP (val)) { args[0] = val; - return funcall (nargs, args); + const Lisp_Object ret = funcall (nargs, args); + unbind_to (count, Qnil); + return ret; } else { @@ -2899,6 +2905,7 @@ run_hook_with_args (ptrdiff_t nargs, Lisp_Object *args, } } + unbind_to (count, Qnil); return ret; } } -- 2.39.5