diff options
| author | Glenn Morris | 2012-11-07 17:23:34 -0500 |
|---|---|---|
| committer | Glenn Morris | 2012-11-07 17:23:34 -0500 |
| commit | bdd8064f8eef72a3a348bd733c1142003db6e8e4 (patch) | |
| tree | 7b40f6c3d256f87f9ead449c420556696ee6138d | |
| parent | 4eeba558163dd2812fa984b540a51721b50a211b (diff) | |
| download | emacs-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/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 @@ | |||
| 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 | ||
| 7 | 2012-11-06 Glenn Morris <rgm@gnu.org> | 8 | 2012-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. | |||
| 2865 | This function creates a new, uninterned symbol (using @code{make-symbol}) | 2865 | This function creates a new, uninterned symbol (using @code{make-symbol}) |
| 2866 | with a unique name. (The name of an uninterned symbol is relevant | 2866 | with a unique name. (The name of an uninterned symbol is relevant |
| 2867 | only if the symbol is printed.) By default, the name is generated | 2867 | only if the symbol is printed.) By default, the name is generated |
| 2868 | @c FIXME no longer true? | ||
| 2869 | from an increasing sequence of numbers, @samp{G1000}, @samp{G1001}, | 2868 | from 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 |
| 2871 | string is used as a prefix instead of @samp{G}. Uninterned symbols | 2870 | string is used as a prefix instead of @samp{G}. Uninterned symbols |
| @@ -4479,14 +4478,6 @@ The @code{equal} predicate does not distinguish | |||
| 4479 | between IEEE floating-point plus and minus zero. The @code{cl-equalp} | 4478 | between IEEE floating-point plus and minus zero. The @code{cl-equalp} |
| 4480 | predicate has several differences with Common Lisp; @pxref{Predicates}. | 4479 | predicate has several differences with Common Lisp; @pxref{Predicates}. |
| 4481 | 4480 | ||
| 4482 | @c FIXME consider moving to lispref | ||
| 4483 | @ignore | ||
| 4484 | The @code{setf} mechanism is entirely compatible, except that | ||
| 4485 | setf-methods return a list of five values rather than five | ||
| 4486 | values directly. Also, the new ``@code{setf} function'' concept | ||
| 4487 | (typified by @code{(defun (setf foo) @dots{})}) is not implemented. | ||
| 4488 | @end ignore | ||
| 4489 | |||
| 4490 | The @code{cl-do-all-symbols} form is the same as @code{cl-do-symbols} | 4481 | The @code{cl-do-all-symbols} form is the same as @code{cl-do-symbols} |
| 4491 | with no @var{obarray} argument. In Common Lisp, this form would | 4482 | with no @var{obarray} argument. In Common Lisp, this form would |
| 4492 | iterate over all symbols in all packages. Since Emacs obarrays | 4483 | iterate 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{} |
| 5062 | This is the most general way to create new place forms. When | 5053 | This is the most general way to create new place forms. You can |
| 5063 | a @code{setf} to @var{access-fn} with arguments described by | 5054 | replace this by @code{gv-define-setter} or @code{gv-define-expander}. |
| 5064 | @var{arglist} is expanded, the @var{forms} are evaluated and | 5055 | |
| 5065 | must return a list of five items: | 5056 | When 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 |
| 5058 | return 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, | |||
| 5092 | except that the method returns a list of five values rather | 5084 | except that the method returns a list of five values rather |
| 5093 | than the five values themselves, since Emacs Lisp does not | 5085 | than the five values themselves, since Emacs Lisp does not |
| 5094 | support Common Lisp's notion of multiple return values. | 5086 | support Common Lisp's notion of multiple return values. |
| 5087 | (Note that the @code{setf} implementation provided by @file{gv.el} | ||
| 5088 | does not use this five item format. Its use here is only for | ||
| 5089 | backwards compatibility.) | ||
| 5095 | 5090 | ||
| 5096 | Once again, the @var{forms} may begin with a documentation string. | 5091 | Once again, the @var{forms} may begin with a documentation string. |
| 5097 | 5092 | ||
| @@ -335,6 +335,7 @@ of `symbol-function' in place forms. | |||
| 335 | A side effect is that vars without corresponding value are bound to nil | 335 | A side effect is that vars without corresponding value are bound to nil |
| 336 | rather than making them unbound. | 336 | rather 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') |