diff options
| author | Glenn Morris | 2012-11-12 18:25:59 -0800 |
|---|---|---|
| committer | Glenn Morris | 2012-11-12 18:25:59 -0800 |
| commit | f78ee6afc094cdfd6162bfd645836e84875dcddf (patch) | |
| tree | 3a2c4f5d6441e53adadb69ed2af0b64abf3cf239 /doc/lispref/variables.texi | |
| parent | b95a9c0cba301ef8f1920a1d123ccd6873c14a63 (diff) | |
| parent | f8705f6e3102454bf1e3213956eb3ac8160ff047 (diff) | |
| download | emacs-f78ee6afc094cdfd6162bfd645836e84875dcddf.tar.gz emacs-f78ee6afc094cdfd6162bfd645836e84875dcddf.zip | |
Merge from emacs-24; up to 2012-11-09T14:45:15Z!dmantipov@yandex.ru
Diffstat (limited to 'doc/lispref/variables.texi')
| -rw-r--r-- | doc/lispref/variables.texi | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index c8451527d4f..dfde3c45c04 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi | |||
| @@ -2133,20 +2133,24 @@ set. An example of using this macro is: | |||
| 2133 | @end example | 2133 | @end example |
| 2134 | @end defmac | 2134 | @end defmac |
| 2135 | 2135 | ||
| 2136 | @c FIXME? Not sure what, if anything, to say about this. | 2136 | @findex gv-define-expander |
| 2137 | @ignore | 2137 | @findex gv-letplace |
| 2138 | @defmac gv-define-expander name handler | 2138 | @c FIXME? Not sure what or how much to say about these. |
| 2139 | This is the most general way to define a new @code{setf} expansion. | 2139 | @c See cl.texi for an example of using gv-letplace. |
| 2140 | @end defmac | 2140 | For more control over the expansion, see the macro @code{gv-define-expander}. |
| 2141 | @end ignore | 2141 | The macro @code{gv-letplace} can be useful in defining macros that |
| 2142 | perform similarly to @code{setf}; for example, the @code{incf} macro | ||
| 2143 | of Common Lisp. Consult the source file @file{gv.el} for more details. | ||
| 2142 | 2144 | ||
| 2143 | @cindex CL note---no @code{setf} functions | 2145 | @cindex CL note---no @code{setf} functions |
| 2144 | Common Lisp defines another way to specify the @code{setf} behavior of | 2146 | @quotation |
| 2145 | a function, namely ``@code{setf} functions'', whose names are lists | 2147 | @b{Common Lisp note:} Common Lisp defines another way to specify the |
| 2146 | @code{(setf @var{name})} rather than symbols. For example, | 2148 | @code{setf} behavior of a function, namely ``@code{setf} functions'', |
| 2147 | @code{(defun (setf foo) @dots{})} defines the function that is used | 2149 | whose names are lists @code{(setf @var{name})} rather than symbols. |
| 2148 | when @code{setf} is applied to @code{foo}. Emacs does not support | 2150 | For example, @code{(defun (setf foo) @dots{})} defines the function |
| 2149 | this. It is a compile-time error to use @code{setf} on a form that | 2151 | that is used when @code{setf} is applied to @code{foo}. Emacs does |
| 2150 | has not already had an appropriate expansion defined. In Common Lisp, | 2152 | not support this. It is a compile-time error to use @code{setf} on a |
| 2151 | this is not an error since the function @code{(setf @var{func})} might | 2153 | form that has not already had an appropriate expansion defined. In |
| 2152 | be defined later. | 2154 | Common Lisp, this is not an error since the function @code{(setf |
| 2155 | @var{func})} might be defined later. | ||
| 2156 | @end quotation | ||