summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/gv.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-08-12 22:30:52 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2013-08-12 22:30:52 -0400
commit5514cc4c84969122668c89a387b858157e0c2e74 (patch)
treeb636e0c6cff2ce0b37b5c6b48c2a191fa8838d20 /lisp/emacs-lisp/gv.el
parent5c41e9ffeaefbf8d01360c1fc911a324940573ee (diff)
downloademacs-5514cc4c84969122668c89a387b858157e0c2e74.tar.gz
* lisp/emacs-lisp/timer.el (timer--time-setter): New function.
(timer--time): Use it as gv-setter. * lisp/emacs-lisp/gv.el (gv-define-simple-setter): Output warning when setter is not a symbol.
Diffstat (limited to 'lisp/emacs-lisp/gv.el')
-rw-r--r--lisp/emacs-lisp/gv.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el
index cf090e5e758..279ae582a05 100644
--- a/lisp/emacs-lisp/gv.el
+++ b/lisp/emacs-lisp/gv.el
@@ -217,13 +217,15 @@ instead the assignment is turned into something equivalent to
temp)
so as to preserve the semantics of `setf'."
(declare (debug (sexp (&or symbolp lambda-expr) &optional sexp)))
+ (when (eq 'lambda (car-safe setter))
+ (message "Use `gv-define-setter' or name %s's setter function" name))
`(gv-define-setter ,name (val &rest args)
,(if fix-return
`(macroexp-let2 nil v val
`(progn
- (,',setter ,@(append args (list v)))
+ (,',setter ,@args ,v)
,v))
- `(cons ',setter (append args (list val))))))
+ ``(,',setter ,@args ,val))))
;;; Typical operations on generalized variables.