summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/gv.el
diff options
context:
space:
mode:
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.