X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=man%2Flispref%2Fvariables.texi;h=21aa3afc22ba5700f28d9e7a2c782b9fc6a90dbe;hb=f1705eca7912ed28384094a064e37295192e0a79;hp=5af0fe5c391316ffa7c4d03d436ec475c352aecc;hpb=6883ee56ec887c2c48abe5b06b5e66aa74031910;p=chise%2Fxemacs-chise.git diff --git a/man/lispref/variables.texi b/man/lispref/variables.texi index 5af0fe5..21aa3af 100644 --- a/man/lispref/variables.texi +++ b/man/lispref/variables.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the XEmacs Lisp Reference Manual. -@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +@c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. @c See the file lispref.texi for copying conditions. @setfilename ../../info/variables.info @node Variables, Functions, Control Structures, Top @@ -95,10 +95,12 @@ x @vindex t @kindex setting-constant - XEmacs Lisp has two special symbols, @code{nil} and @code{t}, that -always evaluate to themselves. These symbols cannot be rebound, nor can -their value cells be changed. An attempt to change the value of -@code{nil} or @code{t} signals a @code{setting-constant} error. +In XEmacs Lisp, some symbols always evaluate to themselves: the two +special symbols @code{nil} and @code{t}, as well as @dfn{keyword +symbols}, that is, symbols whose name begins with the character +@samp{@code{:}}. These symbols cannot be rebound, nor can their value +cells be changed. An attempt to change the value of @code{nil} or +@code{t} signals a @code{setting-constant} error. @example @group @@ -188,7 +190,7 @@ which is 2, not the new value, 1. @result{} 2 @end group @group -(let ((Y 1) +(let ((Y 1) (Z Y)) (list Y Z)) @result{} (1 2) @@ -249,7 +251,7 @@ binding depth exceeds max-specpdl-size"}). This limit, with the associated error when it is exceeded, is one way that Lisp avoids infinite recursion on an ill-defined function. - The default value is 600. + The default value is 3000. @code{max-lisp-eval-depth} provides another limit on depth of nesting. @xref{Eval}. @@ -433,7 +435,7 @@ XEmacs help functions (@pxref{Documentation}) look for this property. If the first character of @var{doc-string} is @samp{*}, it means that this variable is considered a user option. This lets users set the -variable conventiently using the commands @code{set-variable} and +variable conveniently using the commands @code{set-variable} and @code{edit-options}. For example, this form defines @code{foo} but does not set its value: @@ -633,7 +635,7 @@ The value of the @code{setq} form is the value of the last @var{form}. x ; @r{@code{x} now has a global value.} @result{} 3 @group -(let ((x 5)) +(let ((x 5)) (setq x 6) ; @r{The local binding of @code{x} is set.} x) @result{} 6 @@ -650,7 +652,7 @@ second @var{symbol} is set, and so on: @group (setq x 10 ; @r{Notice that @code{x} is set before} y (1+ x)) ; @r{the value of @code{y} is computed.} - @result{} 11 + @result{} 11 @end group @end example @end defspec @@ -1099,10 +1101,26 @@ local to the current buffer at the time. The value returned is @var{variable}. @end deffn -@defun local-variable-p variable &optional buffer +@defun local-variable-p variable buffer &optional after-set This returns @code{t} if @var{variable} is buffer-local in buffer -@var{buffer} (which defaults to the current buffer); otherwise, -@code{nil}. +@var{buffer}; else @code{nil}. + +If optional third arg @var{after-set} is non-@code{nil}, return @code{t} +if @var{symbol} would be buffer-local after it is set, regardless of +whether it is so presently. + +A @code{nil} value for @var{buffer} is @emph{not} the same as +@code{(current-buffer)}, but means "no buffer". Specifically: + +If @var{buffer} is @code{nil} and @var{after-set} is @code{nil}, a +return value of @code{t} indicates that the variable is one of the +special built-in variables that is always buffer-local. (This includes +@code{buffer-file-name}, @code{buffer-read-only}, +@code{buffer-undo-list}, and others.) + +If @var{buffer} is @code{nil} and @var{after-set} is @code{t}, a return +value of @code{t} indicates that the variable has had +@code{make-variable-buffer-local} applied to it. @end defun @defun buffer-local-variables &optional buffer @@ -1127,7 +1145,7 @@ the current buffer is used. (mode-name . "Fundamental") @dots{} @group - ;; @r{Next, non-built-in local variables.} + ;; @r{Next, non-built-in local variables.} ;; @r{This one is local and void:} foobar ;; @r{This one is local and nonvoid:} @@ -1328,13 +1346,13 @@ cannot be a built-in variable, a variable that has a buffer-local value in any buffer, or the symbols @code{nil} or @code{t}. @end defun -@defun variable-alias variable +@defun variable-alias variable &optional follow-past-lisp-magic If @var{variable} is aliased to another variable, this function returns that variable. @var{variable} should be a symbol. If @var{variable} is not aliased, this function returns @code{nil}. @end defun -@defun indirect-variable object +@defun indirect-variable object &optional follow-past-lisp-magic This function returns the variable at the end of @var{object}'s variable-alias chain. If @var{object} is a symbol, follow all variable aliases and return the final (non-aliased) symbol. If @var{object} is