From a104f656c8217b027866d32e8d7bf024a671e3cc Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 2 Aug 2013 17:16:33 -0400 Subject: Make defvar affect the default binding outside of any let. * src/eval.c (default_toplevel_binding): New function. (Fdefvar): Use it. (unbind_to, backtrace_eval_unrewind): Do a bit of CSE simplification. (Fdefault_toplevel_value, Fset_default_toplevel_value): New subrs. (syms_of_eval): Export them. * src/data.c (Fdefault_value): Micro cleanup. * src/term.c (init_tty): Use "false". * lisp/custom.el (custom-initialize-default, custom-initialize-set) (custom-initialize-reset, custom-initialize-changed): Affect the toplevel-default-value (bug#6275, bug#14586). * lisp/emacs-lisp/advice.el (ad-compile-function): Undo previous workaround for bug#6275. * test/automated/core-elisp-tests.el: New file. --- src/data.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/data.c') diff --git a/src/data.c b/src/data.c index f04d6da618f..d1e43ac1b5f 100644 --- a/src/data.c +++ b/src/data.c @@ -1384,9 +1384,7 @@ for this variable. The default value is meaningful for variables with local bindings in certain buffers. */) (Lisp_Object symbol) { - register Lisp_Object value; - - value = default_value (symbol); + Lisp_Object value = default_value (symbol); if (!EQ (value, Qunbound)) return value; -- cgit v1.2.1