aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2012-11-07 17:23:34 -0500
committerGlenn Morris2012-11-07 17:23:34 -0500
commitbdd8064f8eef72a3a348bd733c1142003db6e8e4 (patch)
tree7b40f6c3d256f87f9ead449c420556696ee6138d
parent4eeba558163dd2812fa984b540a51721b50a211b (diff)
downloademacs-bdd8064f8eef72a3a348bd733c1142003db6e8e4.tar.gz
emacs-bdd8064f8eef72a3a348bd733c1142003db6e8e4.zip
* cl.texi (Obsolete Setf Customization): Updates for define-setf-method.
* etc/NEWS: Related markup.
-rw-r--r--doc/misc/ChangeLog3
-rw-r--r--doc/misc/cl.texi23
-rw-r--r--etc/NEWS1
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 @@
2 2
3 * cl.texi (Obsolete Setf Customization): 3 * cl.texi (Obsolete Setf Customization):
4 Revert defsetf example to the more correct let rather than prog1. 4 Revert defsetf example to the more correct let rather than prog1.
5 Give define-modify-macro and defsetf gv.el replacements. 5 Give define-modify-macro, defsetf, and define-setf-method
6 gv.el replacements.
6 7
72012-11-06 Glenn Morris <rgm@gnu.org> 82012-11-06 Glenn Morris <rgm@gnu.org>
8 9
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.
2865This function creates a new, uninterned symbol (using @code{make-symbol}) 2865This function creates a new, uninterned symbol (using @code{make-symbol})
2866with a unique name. (The name of an uninterned symbol is relevant 2866with a unique name. (The name of an uninterned symbol is relevant
2867only if the symbol is printed.) By default, the name is generated 2867only if the symbol is printed.) By default, the name is generated
2868@c FIXME no longer true?
2869from an increasing sequence of numbers, @samp{G1000}, @samp{G1001}, 2868from an increasing sequence of numbers, @samp{G1000}, @samp{G1001},
2870@samp{G1002}, etc. If the optional argument @var{x} is a string, that 2869@samp{G1002}, etc. If the optional argument @var{x} is a string, that
2871string is used as a prefix instead of @samp{G}. Uninterned symbols 2870string is used as a prefix instead of @samp{G}. Uninterned symbols
@@ -4479,14 +4478,6 @@ The @code{equal} predicate does not distinguish
4479between IEEE floating-point plus and minus zero. The @code{cl-equalp} 4478between IEEE floating-point plus and minus zero. The @code{cl-equalp}
4480predicate has several differences with Common Lisp; @pxref{Predicates}. 4479predicate has several differences with Common Lisp; @pxref{Predicates}.
4481 4480
4482@c FIXME consider moving to lispref
4483@ignore
4484The @code{setf} mechanism is entirely compatible, except that
4485setf-methods return a list of five values rather than five
4486values directly. Also, the new ``@code{setf} function'' concept
4487(typified by @code{(defun (setf foo) @dots{})}) is not implemented.
4488@end ignore
4489
4490The @code{cl-do-all-symbols} form is the same as @code{cl-do-symbols} 4481The @code{cl-do-all-symbols} form is the same as @code{cl-do-symbols}
4491with no @var{obarray} argument. In Common Lisp, this form would 4482with no @var{obarray} argument. In Common Lisp, this form would
4492iterate over all symbols in all packages. Since Emacs obarrays 4483iterate over all symbols in all packages. Since Emacs obarrays
@@ -5059,11 +5050,12 @@ You could write this using @code{gv-define-setter} as:
5059@end defmac 5050@end defmac
5060 5051
5061@defmac define-setf-method access-fn arglist forms@dots{} 5052@defmac define-setf-method access-fn arglist forms@dots{}
5062This is the most general way to create new place forms. When 5053This is the most general way to create new place forms. You can
5063a @code{setf} to @var{access-fn} with arguments described by 5054replace this by @code{gv-define-setter} or @code{gv-define-expander}.
5064@var{arglist} is expanded, the @var{forms} are evaluated and 5055
5065must return a list of five items: 5056When a @code{setf} to @var{access-fn} with arguments described by
5066@c FIXME Is this still true? 5057@var{arglist} is expanded, the @var{forms} are evaluated and must
5058return a list of five items:
5067 5059
5068@enumerate 5060@enumerate
5069@item 5061@item
@@ -5092,6 +5084,9 @@ This is exactly like the Common Lisp macro of the same name,
5092except that the method returns a list of five values rather 5084except that the method returns a list of five values rather
5093than the five values themselves, since Emacs Lisp does not 5085than the five values themselves, since Emacs Lisp does not
5094support Common Lisp's notion of multiple return values. 5086support Common Lisp's notion of multiple return values.
5087(Note that the @code{setf} implementation provided by @file{gv.el}
5088does not use this five item format. Its use here is only for
5089backwards compatibility.)
5095 5090
5096Once again, the @var{forms} may begin with a documentation string. 5091Once again, the @var{forms} may begin with a documentation string.
5097 5092
diff --git a/etc/NEWS b/etc/NEWS
index fabb4921d52..d5414949c59 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -335,6 +335,7 @@ of `symbol-function' in place forms.
335A side effect is that vars without corresponding value are bound to nil 335A side effect is that vars without corresponding value are bound to nil
336rather than making them unbound. 336rather than making them unbound.
337 337
338+++
338*** The following methods of extending `setf' are obsolete 339*** The following methods of extending `setf' are obsolete
339(use features from gv.el instead): 340(use features from gv.el instead):
340`define-modify-macro' (use `gv-letplace') 341`define-modify-macro' (use `gv-letplace')