Document 'default-toplevel-value' and 'set-default-toplevel-value'
* doc/lispref/variables.texi (Default Value): Document 'default-toplevel-value' and 'set-default-toplevel-value'.
This commit is contained in:
parent
8b7182626e
commit
d7973e808d
1 changed files with 38 additions and 0 deletions
|
@ -1580,6 +1580,44 @@ an ordinary evaluated argument.
|
||||||
@end example
|
@end example
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
|
A variable can be let-bound (@pxref{Local Variables}) to a
|
||||||
|
non-default value; in that case, @code{default-value} will return the
|
||||||
|
value from that binding, not the global value, and @code{set-default}
|
||||||
|
will be prevented from setting the global value. The following two
|
||||||
|
functions allow to reference the global value even if it's masked by a
|
||||||
|
let-binding.
|
||||||
|
|
||||||
|
@cindex top-level default value
|
||||||
|
@defun default-toplevel-value symbol
|
||||||
|
This function returns the @dfn{top-level} default value of
|
||||||
|
@var{symbol}, which is its value outside of any let-binding.
|
||||||
|
@end defun
|
||||||
|
|
||||||
|
@example
|
||||||
|
@group
|
||||||
|
(defvar variable 'global-value)
|
||||||
|
@result{} variable
|
||||||
|
@end group
|
||||||
|
@group
|
||||||
|
(let ((variable 'let-binding))
|
||||||
|
(default-value 'variable))
|
||||||
|
@result{} let-binding
|
||||||
|
@end group
|
||||||
|
@group
|
||||||
|
(let ((variable 'let-binding))
|
||||||
|
(default-toplevel-value 'variable))
|
||||||
|
@result{} global-value
|
||||||
|
@end group
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@defun set-default-toplevel-value symbol value
|
||||||
|
This function sets the top-level default value of @var{symbol} to the
|
||||||
|
specified @var{value}. This comes in handy when you want to set the
|
||||||
|
global value of @var{symbol} regardless of whether your code runs in
|
||||||
|
the context of @var{symbol}'s let-binding.
|
||||||
|
@end defun
|
||||||
|
|
||||||
|
|
||||||
@node File Local Variables
|
@node File Local Variables
|
||||||
@section File Local Variables
|
@section File Local Variables
|
||||||
@cindex file local variables
|
@cindex file local variables
|
||||||
|
|
Loading…
Add table
Reference in a new issue