diff options
| author | Stefan Monnier | 2013-08-02 17:16:33 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2013-08-02 17:16:33 -0400 |
| commit | a104f656c8217b027866d32e8d7bf024a671e3cc (patch) | |
| tree | b62ddfb915099ba3398b2f0b1f9ddc0ed6203102 /src/data.c | |
| parent | 185e3b5a2f3dc2b5163eb1fe97499c6af1edaa9c (diff) | |
| download | emacs-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.c | 4 |
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 | |||
| 1384 | local bindings in certain buffers. */) | 1384 | local 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 | ||