summaryrefslogtreecommitdiff
path: root/doc/lispref
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/ChangeLog5
-rw-r--r--doc/lispref/variables.texi9
2 files changed, 12 insertions, 2 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index c588e81dd1f..6e7a0b7a648 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-07 Glenn Morris <rgm@gnu.org>
+
+ * variables.texi (Adding Generalized Variables):
+ Update description of FIX-RETURN expansion.
+
2012-11-06 Glenn Morris <rgm@gnu.org>
* variables.texi (Setting Generalized Variables):
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index a7134af20bd..fb98b3cd035 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -2089,8 +2089,13 @@ no problem with, e.g., @code{car} and @code{setcar}, because
@code{setcar} returns the value that it set. If your @var{setter}
function does not return @var{value}, use a non-@code{nil} value for
the @var{fix-return} argument of @code{gv-define-simple-setter}. This
-wraps the @code{setf} expansion in @code{(prog1 @var{value} @dots{})}
-so that it returns the correct result.
+expands into something equivalent to
+@example
+(let ((temp @var{value}))
+ (@var{setter} @var{args}@dots{} temp)
+ temp)
+@end example
+so ensuring that it returns the correct result.
@end defmac