diff options
author | Glenn Morris <rgm@gnu.org> | 2012-11-07 17:23:34 -0500 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2012-11-07 17:23:34 -0500 |
commit | bdd8064f8eef72a3a348bd733c1142003db6e8e4 (patch) | |
tree | 7b40f6c3d256f87f9ead449c420556696ee6138d | |
parent | 4eeba558163dd2812fa984b540a51721b50a211b (diff) | |
download | emacs-bdd8064f8eef72a3a348bd733c1142003db6e8e4.tar.gz emacs-bdd8064f8eef72a3a348bd733c1142003db6e8e4.tar.bz2 emacs-bdd8064f8eef72a3a348bd733c1142003db6e8e4.zip |
* cl.texi (Obsolete Setf Customization): Updates for define-setf-method.
* etc/NEWS: Related markup.
-rw-r--r-- | doc/misc/ChangeLog | 3 | ||||
-rw-r--r-- | doc/misc/cl.texi | 23 | ||||
-rw-r--r-- | etc/NEWS | 1 |
3 files changed, 12 insertions, 15 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 6951f2df79d..700d432ef44 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -2,7 +2,8 @@ * cl.texi (Obsolete Setf Customization): Revert defsetf example to the more correct let rather than prog1. - Give define-modify-macro and defsetf gv.el replacements. + Give define-modify-macro, defsetf, and define-setf-method + gv.el replacements. 2012-11-06 Glenn Morris <rgm@gnu.org> diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index d3c9ad6aedf..a50be1027f3 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -2865,7 +2865,6 @@ temporary variables. This function creates a new, uninterned symbol (using @code{make-symbol}) with a unique name. (The name of an uninterned symbol is relevant only if the symbol is printed.) By default, the name is generated -@c FIXME no longer true? from an increasing sequence of numbers, @samp{G1000}, @samp{G1001}, @samp{G1002}, etc. If the optional argument @var{x} is a string, that string is used as a prefix instead of @samp{G}. Uninterned symbols @@ -4479,14 +4478,6 @@ The @code{equal} predicate does not distinguish between IEEE floating-point plus and minus zero. The @code{cl-equalp} predicate has several differences with Common Lisp; @pxref{Predicates}. -@c FIXME consider moving to lispref -@ignore -The @code{setf} mechanism is entirely compatible, except that -setf-methods return a list of five values rather than five -values directly. Also, the new ``@code{setf} function'' concept -(typified by @code{(defun (setf foo) @dots{})}) is not implemented. -@end ignore - The @code{cl-do-all-symbols} form is the same as @code{cl-do-symbols} with no @var{obarray} argument. In Common Lisp, this form would iterate over all symbols in all packages. Since Emacs obarrays @@ -5059,11 +5050,12 @@ You could write this using @code{gv-define-setter} as: @end defmac @defmac define-setf-method access-fn arglist forms@dots{} -This is the most general way to create new place forms. When -a @code{setf} to @var{access-fn} with arguments described by -@var{arglist} is expanded, the @var{forms} are evaluated and -must return a list of five items: -@c FIXME Is this still true? +This is the most general way to create new place forms. You can +replace this by @code{gv-define-setter} or @code{gv-define-expander}. + +When a @code{setf} to @var{access-fn} with arguments described by +@var{arglist} is expanded, the @var{forms} are evaluated and must +return a list of five items: @enumerate @item @@ -5092,6 +5084,9 @@ This is exactly like the Common Lisp macro of the same name, except that the method returns a list of five values rather than the five values themselves, since Emacs Lisp does not support Common Lisp's notion of multiple return values. +(Note that the @code{setf} implementation provided by @file{gv.el} +does not use this five item format. Its use here is only for +backwards compatibility.) Once again, the @var{forms} may begin with a documentation string. @@ -335,6 +335,7 @@ of `symbol-function' in place forms. A side effect is that vars without corresponding value are bound to nil rather than making them unbound. ++++ *** The following methods of extending `setf' are obsolete (use features from gv.el instead): `define-modify-macro' (use `gv-letplace') |