Commit 651af8c6 authored by Glenn Morris's avatar Glenn Morris

Move note on lack of setf functions from cl.texi to lispref

* doc/lispref/variables.texi (Adding Generalized Variables):
Move note on lack of setf functions to here...

* doc/misc/cl.texi (Obsolete Setf Customization): ... from here.
parent c9cac599
......@@ -3,6 +3,8 @@
* variables.texi (Setting Generalized Variables):
Split most of previous contents into this subsection.
(Adding Generalized Variables): New subsection.
Move note on lack of setf functions here from misc/cl.texi.
* elisp.texi: Add Generalized Variables subsections to detailed menu.
2012-11-05 Chong Yidong <cyd@gnu.org>
......
......@@ -2119,3 +2119,14 @@ value that was set. An example of using this macro is:
This is the most general way to define a new @code{setf} expansion.
@end defmac
@end ignore
@cindex CL note---no @code{setf} functions
Common Lisp defines another way to specify the @code{setf} behavior of
a function, namely ``@code{setf} functions'', whose names are lists
@code{(setf @var{name})} rather than symbols. For example,
@code{(defun (setf foo) @dots{})} defines the function that is used
when @code{setf} is applied to @code{foo}. Emacs does not support
this. It is a compile-time error to use @code{setf} on a form that
has not already had an appropriate expansion defined. In Common Lisp,
this is not an error since the function @code{(setf @var{func})} might
be defined later.
2012-11-06 Glenn Morris <rgm@gnu.org>
* cl.texi (Obsolete Setf Customization):
Move note on lack of setf functions to lispref/variables.texi.
2012-11-03 Glenn Morris <rgm@gnu.org>
* cl.texi: Further general copyedits.
......
......@@ -5105,19 +5105,6 @@ See also the source code for the setf-method for
simpler case, then massaging the result.
@end defun
@c FIXME does not belong here any more, maybe in lispref?
Modern Common Lisp defines a second, independent way to specify
the @code{setf} behavior of a function, namely ``@code{setf}
functions'' whose names are lists @code{(setf @var{name})}
rather than symbols. For example, @code{(defun (setf foo) @dots{})}
defines the function that is used when @code{setf} is applied to
@code{foo}. This package does not currently support @code{setf}
functions. In particular, it is a compile-time error to use
@code{setf} on a form which has not already been @code{defsetf}'d
or otherwise declared; in newer Common Lisps, this would not be
an error since the function @code{(setf @var{func})} might be
defined later.
@node GNU Free Documentation License
@appendix GNU Free Documentation License
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment