summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-macs.el14
1 files changed, 8 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 809e9223b43..121738df576 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -2672,17 +2672,19 @@ non-nil value, that slot cannot be set via `setf'.
(let ((accessor (intern (format "%s%s" conc-name slot))))
(push slot slots)
(push (nth 1 desc) defaults)
- (push `(cl-defsubst ,accessor (x)
- ,(format "Access slot \"%s\" of `%s' struct X."
+ ;; The arg "cl-x" is referenced by name in eg pred-form
+ ;; and pred-check, so changing it is not straightforward.
+ (push `(cl-defsubst ,accessor (cl-x)
+ ,(format "Access slot \"%s\" of `%s' struct CL-X."
slot struct)
(declare (side-effect-free t))
,@(and pred-check
(list `(or ,pred-check
(signal 'wrong-type-argument
- (list ',name x)))))
- ,(if (memq type '(nil vector)) `(aref x ,pos)
- (if (= pos 0) '(car x)
- `(nth ,pos x))))
+ (list ',name cl-x)))))
+ ,(if (memq type '(nil vector)) `(aref cl-x ,pos)
+ (if (= pos 0) '(car cl-x)
+ `(nth ,pos cl-x))))
forms)
(if (cadr (memq :read-only (cddr desc)))
(push `(gv-define-expander ,accessor