* lisp/emacs-lisp/gv.el (gv-ref): Mention lexbind restriction.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 16 Dec 2013 19:12:21 +0000 (14:12 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 16 Dec 2013 19:12:21 +0000 (14:12 -0500)
Fixes: debbugs:16153

lisp/ChangeLog
lisp/emacs-lisp/gv.el

index 9ccc510..6b0b8fc 100644 (file)
@@ -1,3 +1,7 @@
+2013-12-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/gv.el (gv-ref): Mention lexbind restriction (bug#16153).
+
 2013-12-16  Teodor Zlatanov  <tzz@lifelogs.com>
 
        * progmodes/cfengine.el (cfengine3--current-word): Remove.
@@ -9,8 +13,8 @@
 
 2013-12-16  Martin Rudalics  <rudalics@gmx.at>
 
-       * window.el (display-buffer-below-selected): Bind
-       split-height-threshold to 0 as suggested by Juri Linkov.
+       * window.el (display-buffer-below-selected):
+       Bind split-height-threshold to 0 as suggested by Juri Linkov.
 
 2013-12-16  Leo Liu  <sdl.web@gmail.com>
 
index 1a38005..47ab36c 100644 (file)
@@ -454,7 +454,10 @@ The return value is the last VAL in the list.
 ;;;###autoload
 (defmacro gv-ref (place)
   "Return a reference to PLACE.
-This is like the `&' operator of the C language."
+This is like the `&' operator of the C language.
+Note: this only works reliably with lexical binding mode, except for very
+simple PLACEs such as (function-symbol 'foo) which will also work in dynamic
+binding mode."
   (gv-letplace (getter setter) place
     `(cons (lambda () ,getter)
            (lambda (gv--val) ,(funcall setter 'gv--val)))))