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.
This commit is contained in:
parent
185e3b5a2f
commit
a104f656c8
10 changed files with 199 additions and 97 deletions
|
@ -2280,7 +2280,6 @@ For that it has to be fbound with a non-autoload definition."
|
|||
(defun ad-compile-function (function)
|
||||
"Byte-compile the assembled advice function."
|
||||
(require 'bytecomp)
|
||||
(require 'warnings) ;To define warning-suppress-types before we let-bind it.
|
||||
(let ((byte-compile-warnings byte-compile-warnings)
|
||||
;; Don't pop up windows showing byte-compiler warnings.
|
||||
(warning-suppress-types '((bytecomp))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue