aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
authorStefan Monnier2013-08-02 17:16:33 -0400
committerStefan Monnier2013-08-02 17:16:33 -0400
commita104f656c8217b027866d32e8d7bf024a671e3cc (patch)
treeb62ddfb915099ba3398b2f0b1f9ddc0ed6203102 /src/data.c
parent185e3b5a2f3dc2b5163eb1fe97499c6af1edaa9c (diff)
downloademacs-a104f656c8217b027866d32e8d7bf024a671e3cc.tar.gz
emacs-a104f656c8217b027866d32e8d7bf024a671e3cc.zip
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.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c4
1 files changed, 1 insertions, 3 deletions
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
1384local bindings in certain buffers. */) 1384local bindings in certain buffers. */)
1385 (Lisp_Object symbol) 1385 (Lisp_Object symbol)
1386{ 1386{
1387 register Lisp_Object value; 1387 Lisp_Object value = default_value (symbol);
1388
1389 value = default_value (symbol);
1390 if (!EQ (value, Qunbound)) 1388 if (!EQ (value, Qunbound))
1391 return value; 1389 return value;
1392 1390