aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref/variables.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lispref/variables.texi')
-rw-r--r--doc/lispref/variables.texi34
1 files changed, 19 insertions, 15 deletions
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index c8451527d4f..dfde3c45c04 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -2133,20 +2133,24 @@ set. An example of using this macro is:
2133@end example 2133@end example
2134@end defmac 2134@end defmac
2135 2135
2136@c FIXME? Not sure what, if anything, to say about this. 2136@findex gv-define-expander
2137@ignore 2137@findex gv-letplace
2138@defmac gv-define-expander name handler 2138@c FIXME? Not sure what or how much to say about these.
2139This is the most general way to define a new @code{setf} expansion. 2139@c See cl.texi for an example of using gv-letplace.
2140@end defmac 2140For more control over the expansion, see the macro @code{gv-define-expander}.
2141@end ignore 2141The macro @code{gv-letplace} can be useful in defining macros that
2142perform similarly to @code{setf}; for example, the @code{incf} macro
2143of Common Lisp. Consult the source file @file{gv.el} for more details.
2142 2144
2143@cindex CL note---no @code{setf} functions 2145@cindex CL note---no @code{setf} functions
2144Common Lisp defines another way to specify the @code{setf} behavior of 2146@quotation
2145a function, namely ``@code{setf} functions'', whose names are lists 2147@b{Common Lisp note:} Common Lisp defines another way to specify the
2146@code{(setf @var{name})} rather than symbols. For example, 2148@code{setf} behavior of a function, namely ``@code{setf} functions'',
2147@code{(defun (setf foo) @dots{})} defines the function that is used 2149whose names are lists @code{(setf @var{name})} rather than symbols.
2148when @code{setf} is applied to @code{foo}. Emacs does not support 2150For example, @code{(defun (setf foo) @dots{})} defines the function
2149this. It is a compile-time error to use @code{setf} on a form that 2151that is used when @code{setf} is applied to @code{foo}. Emacs does
2150has not already had an appropriate expansion defined. In Common Lisp, 2152not support this. It is a compile-time error to use @code{setf} on a
2151this is not an error since the function @code{(setf @var{func})} might 2153form that has not already had an appropriate expansion defined. In
2152be defined later. 2154Common Lisp, this is not an error since the function @code{(setf
2155@var{func})} might be defined later.
2156@end quotation