Make defvar affect the default binding outside of any let.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 2 Aug 2013 21:16:33 +0000 (17:16 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 2 Aug 2013 21:16:33 +0000 (17:16 -0400)
commita104f656c8217b027866d32e8d7bf024a671e3cc
treeb62ddfb915099ba3398b2f0b1f9ddc0ed6203102
parent185e3b5a2f3dc2b5163eb1fe97499c6af1edaa9c
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.
etc/NEWS
lisp/ChangeLog
lisp/custom.el
lisp/emacs-lisp/advice.el
src/ChangeLog
src/data.c
src/eval.c
src/term.c
test/ChangeLog
test/automated/core-elisp-tests.el [new file with mode: 0644]